使用python3中tkinter编写一个随机点名程序,一个label显示,一个按钮点击开始,一个按钮点击结束
时间: 2024-02-15 17:02:12 浏览: 127
好的,以下是一个简单的随机点名程序:
```python
import tkinter as tk
import random
class RandomNameGUI:
def __init__(self, master):
self.master = master
master.title("随机点名程序")
self.name_label = tk.Label(master, text="")
self.name_label.pack(pady=20)
self.start_button = tk.Button(master, text="开始", command=self.start)
self.start_button.pack(padx=20, pady=10)
self.stop_button = tk.Button(master, text="结束", command=self.stop, state=tk.DISABLED)
self.stop_button.pack(padx=20, pady=10)
self.names = ["小明", "小红", "小刚", "小丽", "小王", "小张"]
self.timer = None
def start(self):
self.start_button.config(state=tk.DISABLED)
self.stop_button.config(state=tk.NORMAL)
self.timer = self.master.after(0, self.update_name)
def stop(self):
if self.timer:
self.master.after_cancel(self.timer)
self.timer = None
self.start_button.config(state=tk.NORMAL)
self.stop_button.config(state=tk.DISABLED)
def update_name(self):
name = random.choice(self.names)
self.name_label.config(text=name)
self.timer = self.master.after(50, self.update_name)
root = tk.Tk()
gui = RandomNameGUI(root)
root.mainloop()
```
程序中使用了 `tkinter` 模块来创建 GUI 界面,其中包括一个标签 `name_label` 显示随机选中的名字,一个开始按钮 `start_button` 和一个结束按钮 `stop_button`。当用户点击开始按钮时,程序会定时更新 `name_label` 显示的名字,直到用户点击结束按钮停止更新。
程序中使用了一个名为 `update_name` 的方法来更新名字,该方法会随机从给定的名字列表中选出一个名字,并更新 `name_label` 显示。程序中还有一个名为 `start` 的方法和一个名为 `stop` 的方法,分别用于开始和停止更新名字。
注意,为了防止用户在点击开始按钮后频繁点击,我们在开始按钮被点击后将其禁用,直到用户点击结束按钮后才重新启用。
阅读全文