time.sleep()方法不会使我的小部件出现吗?

时间:2016-03-17 13:36:45

标签: python time tkinter

我正在尝试创建一个按钮,当您按下“发送”按钮时,它将显示“您的消息已被发送”字样2秒。 当我启动程序时,我按“发送”,但它没有显示任何内容。我认为它与“time.sleep()”方法有关。有人能告诉我这里有什么不对吗?

class Application(Frame):
def __init__(self, master):
    Frame.__init__(self, master)
    self.grid()
    self.create_widgets()

def create_widgets(self):
    self.lbl1=Label(self, text="Write your message:")
    self.lbl1.grid(row=0, column=0, columnspan=2, sticky=W)

    self.entry=Entry(self)
    self.entry.grid(row=0, column=2, columnspan=3, sticky=W)

    self.bttn=Button(self, text="Send", command=self.send)
    self.bttn.grid(row=1, column=0, sticky=W)


def send(self):
    self.lbl2=Label(self, text="Your message has been sent")
    self.lbl2.grid(row=2, column=0,  columnspan=2, sticky=W)
    self.disappear()

def disappear(self):
    start=time.time()
    time.sleep(2)
    self.lbl2.grid_remove()

1 个答案:

答案 0 :(得分:4)

这是一款Tkinter应用吗?使用像

这样的东西可能会更好
root.after(2000, disappear)

2秒后调用消失功能。