代码之家  ›  专栏  ›  技术社区  ›  Jan Tojnar

显示pygtk小部件5秒后运行函数

  •  11
  • Jan Tojnar  · 技术社区  · 17 年前

    如何在显示pygtk小部件5秒后运行函数?

    2 回复  |  直到 17 年前
        1
  •  14
  •   Karl Voigtland    17 年前

    你可以用 glib.timeout_add( interval , callback , ... )

    如果函数返回 符合事实的 然后在间隔后再次调用它;如果函数返回 错误的 那么它就不会再被调用了。

    下面是一个在小部件启动后添加超时的简短示例 显示 活动:

    import pygtk
    pygtk.require('2.0')
    import gtk
    import glib
    
    def timer_cb():
        print "5 seconds elapsed."
        return False
    
    def show_cb(widget, data=None):
        glib.timeout_add(5000, timer_cb)
    
    def destroy_cb(widget, data=None):
        gtk.main_quit()
    
    def main():
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    
        window.connect("show", show_cb)
    
        window.connect("destroy", destroy_cb)
    
        window.show()
    
        gtk.main()
    
    if __name__ == "__main__":
        main()
    
        2
  •  9
  •   u0b34a0f6ae    17 年前

    如果时间不是精确到十分之一秒的关键时间,请使用

    glib.timeout_add_seconds(5, ..)
    

    否则如上所述。

    超时\u添加\u秒 允许系统将超时与其他事件对齐,从长远来看,减少CPU唤醒(特别是在超时重新发生时)和 save energy for the planet (!)