我正在阅读官方的PyGObject教程,我在其中一个例子中找到了这个(无法解释的)行:
self.timeout_id = None
(它位于__init__
- 后代类的Gtk.Window
函数内;整个列表为here)。我不能谷歌呢;这是为了什么?
答案 0 :(得分:5)
您没有看到它被设置并在on_pulse_toggled中进一步使用?
为GObject.timeout_add分配了返回值,它添加了一个稍后调用的函数,可能是重复的(如本例所示):
self.timeout_id = GObject.timeout_add(100, self.do_pulse, None)
当您希望不再调用此超时时,您必须将其删除,并且为此,您需要您创建的超时的ID:
GObject.source_remove(self.timeout_id)