Gtk标签未在计时器脚本中更新

时间:2012-08-18 12:45:58

标签: python gtk pygobject

我正在研究我的第一个Python和GTK脚本。我正在尝试做一个计数器/计时器。我遇到的问题是,虽然日志记录功能每秒返回正确的值,但gtk.label不会更新。我做错了什么?

def startTimer(self, buttonStart):
    self.imgTimer.set_from_stock(Gtk.STOCK_YES, 2)
    self.runTimer(120)

def runTimer(self, timeout):

    for i in reversed(range(0,timeout)):

        logging.debug(i) #returns values 
        self.labelTimer.set_text(i) #doesn't do anything

        time.sleep(1)

1 个答案:

答案 0 :(得分:3)

您不能让GTK +有机会绘制更新后的标签。您应该使用线程(请参阅PyGTK FAQ)或类似

while gtk.events_pending ():
    gtk.main_iteration ()
更新标签后