如何在Tkinter中“重新运行”主循环

时间:2015-11-02 21:24:24

标签: python-2.7 tkinter

我被要求使用Tkinter制作聊天程序。对于最后一部分,我应该打开聊天窗口,它有一个Entry字段,一个Button(SEND)和一个Text Widget来显示聊天记录。这是我学习Tkinter的第一周,我在课堂上被告知只要用户没有关闭窗口或写mainloop()root.quit()就是无限循环。所以在聊天窗口中,我应该每隔10秒检查一次新消息。是否可以在mainloop()中执行此操作?如果是,请告诉我如何,因为我不知道如何发生这种情况,因为mainloop()之前的内容只读了一次。例如,类似print语句的内容只打印一次,即使mainloop()是无限循环。

1 个答案:

答案 0 :(得分:1)

您可以调用根窗口的after方法以便将来调用某些内容。如果该函数本身调用def check_for_messages(): <your code here> root.after(10000, check_for_messages) ,则可以将其设置为使您的函数永远每10秒运行一次。

mainloop()

在调用mainloop()之前调用该函数一次,并且只要while (cheese == false) { 正在运行,它就会每10秒运行一次。