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

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

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 в 21:17

7 ответов

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

Удачи!

2
ответ дан 25 July 2018 в 18:29

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

Удачи!

2
ответ дан 2 August 2018 в 00:41

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

Удачи!

2
ответ дан 4 August 2018 в 16:11

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

Удачи!

2
ответ дан 6 August 2018 в 00:49

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

Удачи!

2
ответ дан 7 August 2018 в 18:15

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

Удачи!

2
ответ дан 10 August 2018 в 06:59

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

Удачи!

2
ответ дан 15 August 2018 в 18:57

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

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