1

我正在阅读官方 PyGObject 教程,并在其中一个示例中找到了这条(无法解释的)行:

self.timeout_id = None

(它在__init__一个 -descendant 类的函数中Gtk.Window;整个列表在这里)。我无法谷歌它;它是干什么用的?

4

1 回答 1

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)
于 2012-09-08T06:58:16.067 回答