Pygtk widget'ı gösterildikten 5 saniye sonra fonksiyon nasıl çalıştırılır?Çalışma fonksiyonu pygtk widget'ından 5 saniye sonra gösteriliyor
11
A
cevap
14
Bir işlevi düzenli olarak çağırmak için glib.timeout_add(interval, callback, ...)'u kullanabilirsiniz.
Eğer işlev True döndürürse, aralıktan sonra tekrar çağrılır; Eğer işlev Yanlış döndürürse tekrar çağrılmaz. İşte
bir widget en olay gösterdikten sonra bir zaman aşımı ekleyerek kısa bir örnektir: süresi bir saniyenin onda birine kadar tam olarak kritik değilseimport 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()
9
, kullanmak
glib.timeout_add_seconds(5, ..)
Yukarıdaki gibi
.
timeout_add_seconds CPU açılışları azaltılması (zaman aşımı reocurring özellikle eğer varsa) ve save energy for the planet uzun vadede, sistem diğer olaylara zaman aşımı uyum sağlar (!)
1 aslında bir bağlantı eklemiş çünkü resmi belgeler. İnsanlar bunu daha sık yapmalı. –