如何在延迟后更改应用程序指示标签?

如何在延迟后更改应用程序指示标签?

如何在延迟后更改应用程序指示器标签

self.ind = appindicator.Indicator("new-gmail-indicator", "/usr/share/icons/ubuntu-mono-dark/status/16/ubuntuone-client-error.svg", appindicator.CATEGORY_APPLICATION_STATUS)

self.ind.set_label("SSH")

time.sleep(4)

self.ind.set_label("HSS")

应用程序运行,但我仅HSS在运行应用程序时看到标签。我从未看到过SSH

答案1

这里的问题是,你有一个单线程应用程序,而睡眠正在阻止它,因此 AppIndicator 库没有机会更新标签。你需要为超时做的是使用GLib 的超时函数设置延迟,并在回调中更改标签。代码可能看起来像这样:

def set_label(self):
    self.ind.set_label("SSH")
    GLib.timeout_add(4, self.respond_to_timeout)

def respond_to_timeout(self):
    self.ind.set_label("HSS")

祝你好运!

相关内容