Como posso alterar o rótulo do indicador de aplicativo após o atraso?

3

Como posso alterar o rótulo do indicador de aplicativo após o atraso

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

O aplicativo é executado, mas só vejo o rótulo HSS ao executar o aplicativo. Eu nunca vejo SSH .

    
por user70670 14.06.2012 / 22:24

1 resposta

2

O problema aqui é que você tem um único aplicativo encadeado, e o sono está bloqueando-o, portanto, a biblioteca AppIndicator não tem a chance de atualizar o rótulo. O que você precisa fazer para o seu tempo limite é usar Função de tempo limite do GLib para configurar um atraso e alterar o rótulo nesse retorno de chamada. O código provavelmente seria parecido com:

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

Boa sorte!

    
por Ted Gould 15.06.2012 / 15:11