[Python] Problemi con la Shell e wxpython
Daniele Varrazzo
piro a develer.com
Ven 20 Nov 2009 15:37:12 CET
On Fri, 20 Nov 2009 15:10:16 +0100, Federico <jakals86 a tiscali.it> wrote:
> Salve a tutti, eccomi di nuovo con alcuni problemi.
>
> Faccio partire nella IDLE di python questo codice
>
> from wxPython.wx import *
>
> class MiaApp(wxApp):
> def OnInit(self):
> frame = wxFrame(None, -1, "Ciao mondo")
> # viene mostrata la finestra
> frame.Show(1)
> # imposta la finestra principale
> self.SetTopWindow(frame)
> return 1
>
> # crea un'istanza della classe MiaApp
> app = MiaApp(0)
> app.MainLoop()
>
> Si blocca sia l'IDLE che la SHELL si blocca e devo terminare il processo
> come mai?Ho la versione 2.6.4. Ho provato ad utilizzare Eric4 e nella
> sua shell funziona benissimo. Qualcuno sa come risolvere questo problema
IDLE ha un suo reactor, basato su TK, che non è compatibile con quello di
WX. Nei framework reactor-driven (tutte le interfacce grafice, twisted e
probabilmente altri) può esserci un solo reactor alla volta, altrimenti si
bloccano l'un l'altro.
È strano che con Eric4 funzioni, visto che è basato su Qt. Forse ha delle
misure di compatibilità apposite (come twisted che può convivere con i
reactor delle interfacce grafiche), ma IDLE è meno raffinato.
È meglio usare il prompt python standard (o meglio ancora iPython) per
avviare i programmi WX, oppure cerca una IDE basata su WX (ma quando le
provai un po' di anni fa non mi piacevano).
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python