[Python] come chiudere in modo corretto le Window pygtk

Gian Mario Tagliaretti g.tagliaretti a gmail.com
Sab 26 Maggio 2012 16:01:33 CEST


2012/5/25 Matteo Perini <perini.matteo a gmail.com>:

ciao Matteo,

>> - hai scritto la GUI a metà con glade e a metà scrivendo il codice a
>> mano, il mantenimento diventa infernale
>
> Concordo ma secondo te mi conviene creare le varie finestre con glade
> (tutte) o usare solo gtk (però la gui potrebbe complicarsi a breve).

Io farei tutte le finestre con Glade nascoste di default (w.hide()) e
non definirti i segnali nel codice ma solo le callback, metti il nome
della callback che userai nei controlli in Glade.

> Purtroppo però non ho ancora risolto...
> Ho inserito i delete event come mi hai consigliato
> ad esempio così:
> self.main_calibration.connect('delete-event',
>  close_calib,self.main_calibration)
>
> def close_calib(window,event,finestra):
>            finestra.destroy()

finestra.hide()

>            return True
>
> ma quando provo a riaprire la finestra con:
> def on_btn_main_calib_clicked(self,widget):
>        self.main_calibration(self)
>
> mi da il seguente errore:
> Traceback (most recent call last):
>  File "GuiAndrea2.py", line 53, in on_btn_main_calib_clicked
>
> self.main_calibration(self)
> TypeError: 'gtk.Window' object is not callable
>
> sembra quasi che non riesca a ri-caricare la finestra.
> Qualche idea??

finestra.show()

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


Maggiori informazioni sulla lista Python