(12)-- 简易的老虎机抽奖小程序

#简易抽奖小程序



import tkinter
#导入线程模块
import threading
import time

root = tkinter.Tk()
root.title('fruits')
root.minsize(300,300)


#摆放按钮
btn1 = tkinter.Button(root,text = 'apple',bg = 'red')
btn1.place(x = 20,y = 20,width = 50,height = 50)

btn2 = tkinter.Button(root,text = 'pear',bg = 'white')
btn2.place(x = 90,y = 20,width = 50,height = 50)

btn3 = tkinter.Button(root,text = 'banana',bg = 'white')
btn3.place(x = 160,y = 20,width = 50,height = 50)

btn4 = tkinter.Button(root,text = 'orange',bg = 'white')
btn4.place(x = 230,y = 20,width = 50,height = 50)

btn5 = tkinter.Button(root,text = 'litchi',bg = 'white')
btn5.place(x = 230,y = 90,width = 50,height = 50)

btn6 = tkinter.Button(root,text = 'haw',bg = 'white')
btn6.place(x = 230,y = 160,width = 50,height = 50)

btn7 = tkinter.Button(root,text = 'cherry',bg = 'white')
btn7.place(x = 230,y = 230,width = 50,height = 50)

btn8 = tkinter.Button(root,text = 'peach',bg = 'white')
btn8.place(x = 160,y = 230,width = 50,height = 50)

btn9 = tkinter.Button(root,text = 'lemon',bg = 'white')
btn9.place(x = 90,y = 230,width = 50,height = 50)

btn10 = tkinter.Button(root,text = 'plum',bg = 'white')
btn10.place(x = 20,y = 230,width = 50,height = 50)

btn11 = tkinter.Button(root,text = 'grape',bg = 'white')
btn11.place(x = 20,y = 160,width = 50,height = 50)

btn12 = tkinter.Button(root,text = 'mango',bg = 'white')
btn12.place(x = 20,y = 90,width = 50,height = 50)

#将所有选项组成列表
fruitlists = [btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12]

#是否开启循环的标志
isloop = False
stopsign = False
stopid = None
def round():
    global isloop

    global stopid
    #判断是否开始循环
    if isloop == True:

        return



    #初始化计数 变量
    i = 1
    if isinstance(stopid,int):
        i = stopid



    #死循环
    while 1:



        #延时操作
        time.sleep(0.2)
        #将所有的组件背景变为白色
        for x in fruitlists:
            x['bg'] = 'white'

        #将当前数值对应的组件变色
        fruitlists[i]['bg'] = 'blue'
        #变量+1
        i += 1



        #如果i大于最大索引直接归零
        if i >= len(fruitlists):

            i = 0
        if stopsign == True:
            isloop = False
            stopid = i


            break



#建立一个新线程的函数
def newtask():

    global stopsign

    stopsign = False
    #建立线程
    t = threading.Thread(target = round)
    #开启线程运行
    t.start()

def stop1():
    global stopsign

    if stopsign == True:
        return
    stopsign = True

#开始按钮

btn_start = tkinter.Button(root,text = 'start',command = newtask,bg = 'cyan')
btn_start.place(x = 90,y = 125,width = 50,height = 50)

#停止按钮
btn_stop = tkinter.Button(root,text = 'end',command = stop1,bg = 'yellow')
btn_stop.place(x = 160,y = 125,width = 50,height = 50)

root.mainloop()






兄弟连学python


Python学习交流、资源共享群:563626388 QQ


你可能感兴趣的:(Python基础)