版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
用到的库:
random #返回随机生成的一个数
tkinter
time
threading
import random
from tkinter import *
import time
import threading
app=Tk()
app.title('抽奖小程序')
app.geometry('370x150')
v1=StringVar()
v2=StringVar()
v3=StringVar()
E1 = Entry(app,textvariable=v1,bd =5)
label3=Label(app,textvariable=v2)
label2=Label(app,textvariable=v3)
def thing():
something=E1.get().split(",")
print(something)
for i in something:
v3.set('正在从【{}】抽取一个'.format(i))
time.sleep(0.1)
v2.set('最后结果是:{}'.format(random.choice(something)))
def thread_test():
t1=threading.Thread(target=thing)
t1.start()
label4=Label(app,text='输入要抽取的项以中文逗号隔开,随机性采用内置函数random').pack()
E1.pack()
label2.pack()
label3.pack()
button_run=Button(app,text='开始抽奖',command=thread_test).pack()
app.mainloop()
note:
引入线程,每点击一次开始抽奖,就创建一次线程避免threads can only be started once错误,二来可以避免与tkinter冲突造成堵塞。
效果: