本次题目我们同样可以选择Tkinter的Button控件,利用buttond中的comand函数来与所要完成的操作进行连接题目如下:
在看到这个题目之后,我们的第一步就是去创建一个页面去实现这个随机点名的功能,首先我们与利用Button和Label控件进行简单的布局,然后去创建一个txt文件将学生名单传入,然后通过开始和停止键的command函数去实现功能,具体代码如下:
import tkinter as tk
from tkinter import *
from tkinter import messagebox
import random
import time
flag=True
list=[]
with open("学生名单.txt", "r",encoding='UTF-8') as f:
for name in f.readlines():
list.append(name.strip())
def func():
while(flag):
entry1.update()
entry1.delete(0,"end")
stu = random.choice(list)
entry1.insert(0,stu)
time.sleep(0.2)
def start():
global flag
flag=True
func()
def stop():
global flag
flag=False
func()
win=tk.Tk()
win.title("课堂随机点名")
win.geometry("400x200")
label=tk.Label(win,text="课堂随机点名",width=50,height=0).place(x=0,y=0,width=400,height=50)
b1=Button(win,text="开始",command=start).place(x=0,y=150,width=200,height=50)
b2=Button(win,text="停止",command=stop).place(x=200,y=150,width=200,height=50)
entry1=tk.Entry(win,width=10)
entry1.insert(0,"点击开始")
entry1.place(x=0,y=50,width=400,height=100)
win.mainloop()
在这个代码中设置了一个全局变量flag去控制开始与停止。具体演示结果如下:
由此我们便可以去实现随机点名功能。