[Python]悬浮播放单词软件

本文介绍了一款基于Python的单词记忆软件实现细节,软件具备自动切换单词、鼠标拖动及右键菜单功能,旨在帮助用户高效记忆单词。文中分享了代码实现思路,包括使用Tkinter进行GUI设计、定时器控制单词切换等。

整套代码+单词资源链接: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("<Button-1>", moveStart)  # 左键被按下,记录位置
canvas.bind_all("<B1-Motion>", move)  # 左键键被按下,同时,鼠标发生移动
canvas.bind_all("<Double-Button-1>", change)  # 双击
canvas.bind_all("<ButtonRelease-3>", popupmenu)  # 右键松开

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值