整套代码+单词资源链接: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) # 右键松开
其他简单的就不贴啦~ 如果有大神看到这里,希望能不吝指教~