[Python] come chiudere in modo corretto le Window pygtk

Lorenzo Sutton lorenzofsutton a gmail.com
Mer 23 Maggio 2012 14:12:08 CEST


On 23/05/12 12:56, Matteo Perini wrote:
> Ciao a tutti,
> Scusate la domanda banale ma sto cercando da un po di risolvere il 
> seguente problema ma non ne vengo a capo.
>
> Ho una applicazione con una finestra principale che contiene dei 
> semplici pulsanti.
> La pressione dei pulsanti mi fa aprire (a seconda del caso) una nuova 
> Window che mi da' la possibilità di inserire del testo.
> Fino a qui tutto ok.
> Quando però chiudo la Window  e successivamente provo a riaprirla per 
> inserire dei nuovi dati ottengo:

Forse questa può essere d'aiuto/ispirazione?

http://faq.pygtk.org/index.py?file=faq10.021.htp&req=show

Lorenzo

>
> File "Gui.py", line 46, in on_btn_main_calib_clicked
> self.main_calibration(self)
> TypeError: 'gtk.Window' object is not callable
>
> e quindi non riesco a riaprire la finestra
>
> il codice della finestra in questione è:
>     def main_calibration(self,widget,data=None):
>         def calib1(self,entry):
>             self.num = entry.get_text()
>             print self.num
>
>         self.main_calibration = gtk.Window(gtk.WINDOW_TOPLEVEL)
>         self.main_calibration.set_position(gtk.WIN_POS_CENTER)
>         self.main_calibration.set_title("Calibrazione")
>         self.main_calibration.set_border_width(15)
>         #self.main_calibration.connect("destroy", self.exit)
>         hbox1 = gtk.HBox(True, 0)
>         hbox2 = gtk.HBox(True, 0)
>         vbox = gtk.VBox(True, 0)
>         self.entry1 = gtk.Entry()
>         self.entry1lab = gtk.Label("ciao")
>         num=self.entry1.get_text()
>         self.button1 = gtk.Button("Calibra")
>         self.button1.connect("clicked",calib1, self.entry1)
>         self.label1 = gtk.Label("Numero di acquisizioni valide:")
>
>
>         hbox1.pack_start(self.label1, True, True, 5)
>         hbox1.pack_start(self.entry1,True,True,5)
>
>         hbox2.pack_start(self.button1, True, True, 5)
>         vbox.pack_start(hbox1, True, False, 5)
>         vbox.pack_start(hbox2, True, False, 5)
>         self.main_calibration.add(vbox)
>         self.main_calibration.show_all()
>         gtk.main()
>
>
> Se avete avuto la pazienza di leggere fino a qui vi sarete accorti che 
> c'è una linea commentata:
>
> #self.main_calibration.connect("destroy", self.exit)
>
> questa chiude sia la Window voluta che la finestra principale (cosa 
> che non deve accadere).
> Ogni suggerimento su come risolvere questo piccolo problema è ben 
> accetto.
> Grazie a tutti
> Matteo P
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python