[Python] Glade3 e statusbar

Gian Mario Tagliaretti g.tagliaretti a gmail.com
Dom 6 Ott 2013 19:09:19 CEST


2013/10/6 Marcello <marcello a linuxvil.it>:

ciao Marcello,

non vedendo tutto il codice posso solo azzardare

>     def on_statusbar_show(self, button,obj,data=None):
>         self.statusbar = self.ApplicazioneGlade.get_object('statusbar')

self.statusbar = self.ApplicazioneGlade.get_object('statusbar')
crei l'oggetto self.statusbar dentro la funzione, sia self.statusbar
che self.context_id dovresti crearli dentro l'__init__ della classe,
se il controllo dei parecchi file di testo č bloccante (e.g. qualcosa
che fai con subprocess.Popen o familiari) il mainloop potrebbe non far
in tempo a scrivere il messaggio nella statusbar

>
>         self.context_id = self.statusbar.get_context_id('statusbar')
>         self.statusbar.push(self.context_id, self.MessaggioStatusbar)
>
>     def on_VerTab_clicked(self, button):
>         self.MessaggioStatusbar = 'Hai premuto Verifica Tabella'
>         self.on_statusbar_show(self,button)
>         ............. controllo parecchi file di testo

qualcosa del genere

class MyClass (blabla)
    def __init__ (blabla, blabla)
        self.widgets = Gtk.Builder(blabla)
        self.statusbar = self.widgets.get_object('statusbar')
        self.context_id = self.statusbar.get_context_id('statusbar')

    def funzione_che_controlla_tanti_file(self, blabla)
        ...................

    def on_VerTab_clicked(self, widget, data=None):
        self.statusbar.push(self.context_id, 'bla bla bla bla')

> il messaggio sullo statusbar mi appare non immediatamente quando viene
> eseguito ' def on_VerTab_clicked(self, button):'
> ma bensė quando finisce di controllare tutti i file di testo.

cmq i problemi rimarranno se blocchi il mainloop lanciando dei processi esterni

> Questo mi vieta di far vedere sullo statusbar quale file sta elaborando

e questo mi fa pensare che ho ragione, come li lanci questi controlli?

> Un grazie a Gian Mario per tutte le dritte che mi ha dato fino adesso

figurati, siam qui apposta.

ciao
-- 
Gian Mario Tagliaretti
GNOME Foundation member
gianmt a gnome.org


Maggiori informazioni sulla lista Python