[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("<Button-1>", moveStart)  # 左键被按下,记录位置
canvas.bind_all("<B1-Motion>", move)  # 左键键被按下,同时,鼠标发生移动
canvas.bind_all("<Double-Button-1>", change)  # 双击
canvas.bind_all("<ButtonRelease-3>", popupmenu)  # 右键松开

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于pyside6开发的windows平台悬浮球工具python源码(含项目说明+超详细注释).zip 基于pyside6开发的windows平台悬浮球工具 “双窗口悬浮球.py”用于在解释器内运行 “双窗口悬浮球_编译.py”用于pyinstaller打包 启动后显示悬浮球窗口 ![image-20230311223719912](README.assets/image-20230311223719912.png) 触摸点击或鼠标点击后显示菜单 ![image-20230313191943992](README.assets/image-20230313191943992.png) 各按钮功能 1. 启动任务视图 2. 启动quicker 3. 切换显示器,用于将悬浮窗直接移动到另一显示器上,也可以通过鼠标拖动到另以显示器实现 4. 返回悬浮球 5. 显示桌面 6. 启动任务管理器 7. 启动utools 8. 截图 对于中间滑块,拖动滑块部分调节音量、拖动中心部分移动窗口、单击中心部分播放或暂停音乐 程序启动会同时创建一托盘图标,左键单击托盘负责隐藏或显示悬浮球,右键托盘可选择“退出”关闭程序 ![image-20230311223919007](README.assets/image-20230311223919007.png) # 编译 pyinstaller编译命令 ```bash pyinstaller --onefile --noconsole --icon=.\images\float.ico --add-data ".\images;images" --add-data "C:\Users\rzdby\anaconda3\lib\site-packages\PySide6\plugins\platforms;platforms" 双窗口悬浮球_编译.py ``` 其中,路径 ```bash C:\Users\rzdby\anaconda3\lib\site-packages\PySide6\plugins\platforms ``` 需要设置为对应QT platforms路径 可以利用“双窗口悬浮球.py”内 ```python import os, PySide6 dirname = os.path.dirname(PySide6.__file__) plugin_path = os.path.join(dirname, 'plugins', 'platforms') print(plugin_path) ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值