【Python小项目之Tkinter应用】随机点名/抽奖工具大优化:新增查看历史记录窗口!语音播报功能!修复预览文件按钮等之前版本的bug!

15 篇文章 3 订阅 ¥199.90 ¥299.90
本文介绍了对Python Tkinter随机点名/抽奖工具的优化,包括新增查看历史记录窗口,允许查看和操作历史记录,以及添加语音播报功能,能播报所选人数。此外,修复了预览文件按钮的bug,现在会根据最新选择的文件预览全部内容。设置窗口的弹窗绑定到父窗口,提高了用户体验。
摘要由CSDN通过智能技术生成


前言

老生常谈,先看效果:(订阅专栏可获取完整代码)

请添加图片描述
初始状态下,我们为除了【设置】外的按钮添加弹窗,提示用户在使用工具之前要先【设置】。在设置界面,我们主要修改了【预览文件】按钮,从之前的只预览前5条变为预览文件全部内容,但是内容是只读的。同时,增加弹窗告知用户文件中的总人数。除此之外,我们还修复了【预览文件】的bug。之前版本我们的【预览文件】只要是文件被读取过就可以预览,并禁止重复预览。但是,用户可能因为手误选择了其他格式正确的文件,这时用户会在设置界面下再次点击【选择文件】按钮。之前版本,【预览文件】按钮不会随着文件被新选择而更新。当前版本我们修复了这个bug。

完成设置后,在一轮选择结束后,当前版本新增两个主要的功能:

  • 语音播报所选人数:机器音读出结果
  • 查看历史记录:被选中的人会显示在一个列表框中,并且可以对内容进行剪切、复制、粘贴操作

我们来看看上述功能是如何实现的。


一、实现思路

主窗口新增查看历史记录按钮、语音播报按钮,其中查看历史记录按钮与其他按钮格式一致,语音播报按钮以图片作为显示。

查看历史记录按钮,点击后弹出历史记录窗口,包含一个列表框和一个竖直的滚动条。抽取的结果人名显示在列表框中,并且可以剪切、复制、粘贴。

语音播报按钮,点击后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是实现的步骤: 1. 安装必要的库:`tkinter`、`openpyxl`、`pyttsx3`。 ```python pip install tkinter openpyxl pyttsx3 ``` 2. 导入名单信息:将名单信息保存在 Excel 文件中,使用 `openpyxl` 库读取 Excel 文件,获取名单信息。 ```python from openpyxl import load_workbook # 加载 Excel 文件 wb = load_workbook(filename='name_list.xlsx') # 获取名单信息 ws = wb.active name_list = [] for row in ws.iter_rows(min_row=2, values_only=True): name_list.append(row[0]) ``` 3. 实现随机点名语音播报:使用 `random` 库随机获取一个名字,使用 `pyttsx3` 库进行语音播报。 ```python import random import pyttsx3 # 初始化 pyttsx3 engine = pyttsx3.init() def random_call(): # 随机获取名字 name = random.choice(name_list) # 文字提示 print('请 %s 同学回答问题。' % name) # 语音播报 engine.say(name) engine.runAndWait() ``` 4. 使用 `tkinter` 实现图形化界面:创建一个按钮,点击按钮调用 `random_call` 函数进行随机点名。 ```python import tkinter as tk # 创建窗口 window = tk.Tk() window.title('随机点名') window.geometry('300x100') # 创建按钮 button = tk.Button(window, text='开始点名', command=random_call) button.pack() # 运行窗口 window.mainloop() ``` 5. 打包成可执行文件:使用 `pyinstaller` 工具Python 代码打包成可执行文件。 ```python pip install pyinstaller pyinstaller --onefile main.py ``` 将生成的 `dist/main.exe` 文件和 Excel 文件一起打包,就可以将程序分享给其他人使用了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十小大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值