python - 计时器脚本中的 Gtk 标签未更新

标签 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)

最佳答案

您不给 GTK+ 绘制更新标签的机会。您应该使用线程(请参阅 PyGTK FAQ ),或类似的东西

while gtk.events_pending ():
    gtk.main_iteration ()

更新标签后。

关于python - 计时器脚本中的 Gtk 标签未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12018688/

相关文章:

python - scapy 中嗅探功能的过滤器无法正常工作

python - 名称错误 : name 'ptclType' is not defined

Python 编译脚本给出错误 "Can' t 加载插件 : sqlalchemy. 方言:presto”

C++,将 g_signal_connect 事件正确添加到按钮

python - `ip = ipaddress.ip_address(args.ip)` 的 TCP 端口测试不准确

c++ - 是否可以使用 gtkmm 定义 GTK+ 类型?

c# - Gtk.Bin.Destroy() 和 Gtk.Bin.Dispose() 有什么区别

python - PyGObject 中的类初始化

python - 如何从 GTK Builder 检索对象的名称?

python - 与 Glade 一起使用时不可见的 Gtk.EntryCompletion 结果