Python:如何将第二个函数的执行延迟一秒钟

时间:2018-12-19 18:03:12

标签: python tkinter

所以我想知道如何在执行两个功能之间进行延迟。目标是在屏幕上显示一秒钟后,用黑色替换常规的空白按钮。我目前的简化程序看起来像这样,它只是延迟了CreateInterface()的执行:

class Program(Frame):
    def __init__(self,root):
        self.root=root
        self.root.title('Test')
        super().__init__(self.root)
        self.grid()
        self.Start()
        return

    def Start(self):
        startbtn=Button(self,width=5, font=('Calibri',16,'bold'), height=2, text='start',command=lambda:self.CreateInterface())
        startbtn.grid(row=1,column=1)

    def CreateInterface(self):
        time.import
        btn1=Button()
        btn1.grid(row=1,column=1)
        time.sleep(10)
        self.Function2(self)
        return

    def Function2(self):
        btn2=Button(bg='black')
        btn2.grid(row=1,column=1)
        return

2 个答案:

答案 0 :(得分:0)

使用time.sleep将程序执行暂停一定时间。如果您想在致电CreateInterface之后暂停1秒钟,请将其更改为:

def CreateInterface(self):
        btn1=Button()
        btn1.grid(row=1,column=1)
        time.sleep(10)
        self.Function2(self)
        time.sleep(1)

这样做时,请不要忘记import time

答案 1 :(得分:0)

在GUI界面中,调用time.sleep使整个过程等待,因此该应用程序似乎冻结了。在Python中使用Tk时,一种方法是在窗口或框架上使用Tk after方法,然后调用对按钮进行必要更改的函数。在How to create a timer using tkinter

中有一些有关如何执行此操作的示例