如何暂时暂停Tkinter中的GUI?

时间:2018-04-19 22:57:12

标签: python tkinter

我理解这个问题是重复的,但对于我的代码,其他任何答案(使用aftertime.sleep)都没有帮助。这是我的代码:

from tkinter import *
import time,random
root = Tk()

class Simon:
    def __init__(self):
        print('SIMON')
        self.red = PhotoImage(file="Red.gif")
        self.blue = PhotoImage(file="Blue.gif")
        self.green = PhotoImage(file = "Green.gif")
        self.yellow = PhotoImage(file= "Yellow.gif")
        self.white = PhotoImage(file= "Blankimage.gif")
        self.randlist=[]
        self.storerand=0

    def createpattern(self):
    ##    for n in range(4):
    ##        self.storerand=random.randint(1,4)
    ##        self.randlist.append(self.storerand)
    ##        self.storerand=0
    ##    print(self.randlist)
        self.randlist=[1]

    def pause(self):
        for n in range(0,len(self.randlist)):
            if self.randlist[n]==1:
                self.button1=Button(root, image = self.red)
                self.button2=Button(root, image=self.white)
                self.button3=Button(root,image = self.white)
                self.button4=Button(root, image = self.white)
                print('1')
            elif self.randlist[n]==2:
                self.button1=Button(root,image = self.white)
                self.button2=Button(root, image=self.blue)
                self.button3=Button(root,image = self.white)
                self.button4=Button(root, image = self.white)
                print('2')
            elif self.randlist[n]==3:
                self.button1=Button(root,image = self.white)
                self.button2=Button(root, image=self.white)
                self.button3=Button(root,image = self.green)
                self.button4=Button(root, image = self.white)
                print('3')
            elif self.randlist[n]==4:
                self.button1=Button(root,image = self.white)
                self.button2=Button(root, image=self.white)
                self.button3=Button(root,image = self.white)
                self.button4=Button(root, image = self.yellow)
                print('4')

    def grid(self):
        self.button1.grid(row=0,column=0)
        self.button2.grid(row=0,column=1)
        self.button3.grid(row=1, column=0)
        self.button4.grid(row=1,column=1)

simon=Simon()
simon.createpattern()
simon.pause()
root.mainloop()

我需要创建一个blink函数(目前是我的pause函数),但如果我使用sleep它会停止我的代码而我真的不知道如何实现在这种情况下的后方法。有什么建议吗?

0 个答案:

没有答案
相关问题