【问题标题】:How to 're-run' the mainloop in Tkinter如何在 Tkinter 中“重新运行”主循环
【发布时间】:2015-11-02 21:24:23
【问题描述】:

有人要求我使用 Tkinter 制作一个聊天程序。对于最后一部分,我应该打开聊天窗口,其中有一个条目字段、一个按钮(发送)和一个文本小部件来显示聊天日志。这是我学习 Tkinter 的第一周,我在课堂上被告知只要用户不关闭窗口或写 root.quit()mainloop() 就是一个无限循环。所以在聊天窗口中,我应该每 10 秒检查一次新消息。可以在mainloop() 中做到这一点吗?如果是,请告诉我怎么做,因为我不知道这是怎么发生的,因为mainloop() 之前的内容只读取一次。例如,类似 print 语句的内容只打印一次,即使 mainloop() 是一个无限循环。

【问题讨论】:

  • 请添加您现有的代码,即使它没有达到您的预期,以便其他人可以参考。

标签: python-2.7 tkinter


【解决方案1】:

以后可以调用根窗口的after方法调用一些东西。如果该函数本身调用after,您可以对其进行设置,以便您的函数永远每 10 秒运行一次。

def check_for_messages():

    <your code here>

    root.after(10000, check_for_messages)

在调用 mainloop() 之前调用该函数一次,只要 mainloop() 正在运行,它将每 10 秒运行一次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多