python采用tkinter库实现随机点名并语音播报姓名,名单用excel导入,打包成可执行文件
时间: 2023-06-12 19:05:42 浏览: 106
好的,下面是实现的步骤:
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 文件一起打包,就可以将程序分享给其他人使用了。
阅读全文