【问题标题】:how to run a function every 10 seconds automatically in tkinter [duplicate]如何在tkinter中每10秒自动运行一次功能[重复]
【发布时间】:2019-11-07 03:27:01
【问题描述】:

我有一个 gui,它需要经常刷新其标签中的信息,我有一个函数可以这样做。我想知道如何每 10 秒自动调用一次该函数。

目前我有一个刷新信息的按钮,但必须手动按下。

bRefreshSystem = tk.Button(text="System Refresh", command=refreshSystem)

目前我的解决方案确实有效,但不是最佳的,那么如何每 10 秒自动调用 refreshSystem 呢?

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    您可以每 n 秒启动一个线程来运行一个函数。这对你有用吗?

    import threading
    
    def do_something():
      print("Hello!")
      threading.Timer(5, do_something).start()
    
    do_something()
    

    【讨论】:

      【解决方案2】:

      不需要线程,最简单的就是使用root.after

      def refreshSystem():
          do stuff
          root.after(10000, refreshSystem)   # the delay is in milliseconds
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-15
        • 2016-04-12
        • 2013-07-24
        • 1970-01-01
        • 1970-01-01
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多