Как я могу изменить метку индикатора приложения после задержки
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
.
Проблема здесь в том, что у вас есть однопоточное приложение, и спящий режим блокирует его, поэтому библиотека 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")
Удачи!