[Python]悬浮播放单词软件

整套代码+单词资源链接:https://download.csdn.net/download/shadow_heaven/11004612

其实很简单的一个程序,没什么技术含量。

这里写一些可能稍微偏门的代码在这里,其他简单的部分就不写了,有兴趣可以下载源码看~

 

源码功能:

     10秒自动切换单词

     左键拖拽移动

     右键弹出菜单:删除当前单词 & 退出

     左键双击:下一单词

两个问题:

     没办法让背景彻底镂空,只能设透明度  [如果有大神看到这里,希望能不吝指教~]

     偷懒了,删除单词后当前单词仍会继续显示,但下一轮就会消失。而只有右键中点击退出后,单词文件才会更新

 

 

# 用到的包
import tkinter as tk
import time
import threading
# 自动下一单词
waitTime = 10
def autoChange():
    while (True):
        global words
        time.sleep(waitTime)
        if not words:
            words = saveWords
        word = words.popitem()
        label["text"] = word[0] # label是窗口里的文本框
        label1["text"] = word[1]
#用线程控制自动切换单词
t = threading.Thread(target=autoChange)
t.start()
# 主窗口,这里有一些窗口设置信息
frame = tk.Tk()  # 创建窗口
frame.overrideredirect(True)  # 不显示窗框
frame.wm_attributes("-topmost", 1)  # 置顶
frame.attributes("-alpha", 0.8)  # 窗口不透明度
frame.geometry("300x70+10+10")  # 大小+左上角坐标
# 控制鼠标的部分,moveStart,move,change,popupmenu是自己写的功能函数
canvas = tk.Canvas(frame)
canvas.pack()
canvas.bind_all("", moveStart)  # 左键被按下,记录位置
canvas.bind_all("", move)  # 左键键被按下,同时,鼠标发生移动
canvas.bind_all("", change)  # 双击
canvas.bind_all("", popupmenu)  # 右键松开

其他简单的就不贴啦~ 如果有大神看到这里,希望能不吝指教~

你可能感兴趣的:(Python)