【发布时间】:2011-03-05 05:22:25
【问题描述】:
在 wxPython 中是否有与 Tkinter 的 .after() 等价的功能?
对于那些不知道的人,.after() 允许在未来某个时间点运行函数。这可以用来制作带有函数的循环。
我正在尝试制作一个时钟,所以这对于让它滴答作响会很方便。
【问题讨论】:
在 wxPython 中是否有与 Tkinter 的 .after() 等价的功能?
对于那些不知道的人,.after() 允许在未来某个时间点运行函数。这可以用来制作带有函数的循环。
我正在尝试制作一个时钟,所以这对于让它滴答作响会很方便。
【问题讨论】:
要回答您的具体问题,您可以使用wx.CallAfter 和wx.CallLater。前者大致相当于tkinter的after_idle命令,后者与after相同(即:作为参数等待需要若干毫秒)
作为第三个选项,您可以使用wx.Timer,wx.CallLater 是基于它的。这使您可以更好地控制计划的作业,允许您取消或重新启动它们(类似于您可以使用 tkinter 的 after_cancel 执行的操作)
【讨论】:
wx.Python 中有几个函数可以做到这一点。 您应该查看 wxPython 演示的“进程和事件”部分,尤其是那些与 wx.Timer 相关的部分
wx.Timer 类允许您 以指定的时间间隔执行代码 从 wxPython 事件循环中。 计时器可以是一次性的或重复的。 这个demo展示了原理方法 也使用计时器(带有事件) 作为方便的 wx.FutureCall 类。
【讨论】: