Как я могу изменить метку индикатора приложения после задержки?

Как я могу изменить метку индикатора приложения после задержки

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.

3
задан 18 June 2012 в 20:17

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")

Удачи!

0
ответ дан 18 June 2012 в 20:17

Другие вопросы по тегам:

Похожие вопросы: