【发布时间】:2012-09-09 18:59:51
【问题描述】:
我正在阅读官方 PyGObject 教程,并在其中一个示例中发现了这一行(无法解释):
self.timeout_id = None
(它在 Gtk.Window-descendant 类的 __init__ 函数中;整个列表是 here)。我无法谷歌它;它是干什么用的?
【问题讨论】:
我正在阅读官方 PyGObject 教程,并在其中一个示例中发现了这一行(无法解释):
self.timeout_id = None
(它在 Gtk.Window-descendant 类的 __init__ 函数中;整个列表是 here)。我无法谷歌它;它是干什么用的?
【问题讨论】:
您没有看到它在 on_pulse_toggled 中被设置并进一步使用?
它被分配了 GObject.timeout_add 的返回值,它添加了一个在稍后的时间间隔调用的函数,可能会重复调用(如本例):
self.timeout_id = GObject.timeout_add(100, self.do_pulse, None)
当您希望不再调用此超时时,您必须将其删除,为此,您需要您创建的超时 id:
GObject.source_remove(self.timeout_id)
【讨论】:
Gtk.Window 类中没有timeout_id“属性”,在这种情况下它本质上是(类似于)用户定义的全局变量?
Gtk.Window 对象)。