[PIPython] wx vs all the others [WAS: no subject]

Massimo Cecconi massimo.cecconi
Gio 10 Mar 2005 15:24:36 CET


O_o .... ma se un'enciclopedia vivente?? :):)  ....complimenti!!

Senti volevo chiederti due cose:

cosa intendi per pythonica???

nel finale hai parlato di threads giusto?? bene ecco a me serve proprio 
cercare di capire come funzionano perchè dalla documentazione ufficiale 
non sono riuscito ad imparare nulla!!!! poi la reputo scarsa e poco 
chiara (la doc).....
grazie

Tornando a questa discussione io oramai mi sono orientato sulle wx 
perchè personalmente reputo scomodo il file xml che non riesco a 
modificare opportunamente a mano qualora ce ne fosse la 
necessità.......nonstante Glade è sicuramente più completo di wxGlade ad 
esempio oppure di wxDesigner (che sto provando in questi giorni)  
naturalmente è assolutamente un parere personale e sindacabile in toto 
:):):)

Valentino Volonghi aka Dialtone ha scritto:

> Giovanni Porcari wrote:
>
>> Ciao a tutti
>>
>> dopo una lunga indecisione per la scelta di una GUI sto imboccando la 
>> strada di wx.
>> Mi sembra un buon prodotto e ben mantenuto.
>> Ho letto però recentemente dei messaggi in lista di apprezzamento di 
>> pygtk e quindi
>> mi ritorna qualche dubbio.
>> Vorrei quindi chiedere cortesemente ai supporter delle due librerie 
>> di perdere qualche minuto
>> del loro tempo per esprimere le ragioni della loro scelta e spiegare 
>> i punti di forza e debolezza
>> rispettivi. Credo che una ML serva anche a questo ;)
>> Dimenticavo: per me la piattaforma principale è OSX.
>> Ho valutato anche QT ma non mi ha convinto. Andrebbe messo in conto ?
>>
>> Ringrazio anticipatamente chi vorrà contribuire con il suo prezioso 
>> parere ;)
>
>
> wx e` una buona libreria ma con un'API decisamente brutta e poco 
> pythonosa. Ha dalla sua il vantaggio di poter girare, quasi 
> immodificata, su molte piattaforme. Questo comporta pero` anche che 
> sia il piu` lento di tutti i toolkit esistenti in quanto si appoggia 
> sulle librerie presenti nel sistema (Carbon, GTK, GTK2, MFC e via 
> dicendo). Un poco carente di documentazione e attualmente e` in 
> scrittura la nuova versione stabile.
>
> pygtk e` MOLTO piu` piccolo di wx (wx sono 16MB contro i neanche 10 di 
> gtk2+pygtk). Gira anche lui su molte piattaforme ma sotto OSX 
> necessita dell'uso dell'X11 di apple. Questo significa che, sotto OSX, 
> risultera` piu` lenta delle wx. L'architettura delle GTK+ e` di gran 
> lunga la migliore architettura tra tutti i toolkit grafici anche se 
> l'API non e` particolarmente pythonica. Esistono pero` alcuni 
> pacchetti 'aggiuntivi' che possono renderla decisamente piu` 
> pythonica. Come wx (e meglio di wx) dispone del tool per creare 
> interfacce grafiche usando un file XML in formato glade (il nome di 
> wxGlade infatti deriva da questo glade). Il miglior designer di UI in 
> pyGTK e` gazpacho, un prodotto molto recente sviluppato da Lorenzo Gil 
> Sanchez (maintainer delle pygtk) scritto in python e molto flessibile. 
> Le GTK+ inoltre supportano perfettamente unicode e i font con 
> scrittura da destra a sinistra. Si possono inoltre scrivere widget 
> nuovi direttamente in python oltre che creare e gestire segnali nuovi, 
> sempre usando python. Non so pero` quanto di questo sia disponibile 
> anche con le wx. Un po` povere di widget complessi su piattaforme 
> diverse da GNOME (dove hanno librerie anche per masterizzare), ad 
> esempio non hanno un data grid se non quella scritta dagli autori di 
> gazpacho che non saprei dire quanto sia portabile. Documentazione 
> sovrabbondante sia in italiano che in inglese con grandissima 
> ricchezza nella raccolta di FAQ.
>
> QT ottime librerie, la loro API e` decisamente piu` pulita e pythonica 
> di tutte le altre due. Hanno pero` una licenza decisamente pessima, 
> particolarmente pessima per prodotti commerciali. Le QT4 (che 
> usciranno durante l'anno) avranno un'architettura molto molto simile 
> alle GTK+2 e una licenza migliore per windows. Come le wx e le gtk+ 
> girano su tantissime architetture ma diversamente dalle GTK+, e 
> analogamente alle wx girano perfettamente sotto OSX senza necessita` 
> di utilizzare X11. Sono ricchissime di widget, particolarmente di 
> widget data driven. Anche queste gestiscono benissimo unicode e sono 
> fornite con un designer di ottima qualita`. Non credo che queste 
> abbiano la possibilita` di creare l'interfaccia grafica usando XML 
> anche se il file generato dal designer e` appunto un file XML che 
> andra` parsato con pyuic che generera` il codice python necessario.
>
> Inoltre mi sento di dover citare il progetto piu` promettente. Prende 
> spunto da wxpython nell'appoggiarsi alla libreria sottostante, ma e` 
> scritto interamente in python e dall'autore di pyrex. PyGUI e` 
> indubbiamente il miglior toolkit disponibile con la sfortuna che Greg 
> Erwing non ha molto tempo da dedicargli e non ha ancora molti widget. 
> Si tratta, a mio parere, del toolkit migliore per sviluppare 
> applicazioni data driven.
>
> Inoltre ancora, per OSX esiste l'ottimo pyObjC da usare assieme a 
> Interface Builder, specialmente nella versione ora in sviluppo, offre 
> tantissime funzionalita` utilissime per creare software nativo per 
> OSX. Anche questo e` un ottimo toolkit per gestire applicazioni data 
> driven essendo molto simile, come concetti, a Glade. L'API e` molto 
> pythonica anche se e` un po` condizionata dal suo doversi 
> interfacciare con objective c.
>
> Bisognerebbe dare una possibilita` a un po` tutti i toolkit per averne 
> un'idea chiara. Tutti quanti (a parte PyGUI sfortunatamente) sono 
> pronti per realizzare applicazioni perfettamente funzionanti e di 
> qualita`. Alcuni necessitano di uno sforzo di progettazione superiore 
> come wx, altri risultano piu` scomodi da usare sotto OSX come pygtk.
>
> Un ultima menzione a riguardo dell'integrazione con twisted:
> Il migliore in assoluto sono le gtk. che si integrano perfettamente 
> con twisted.
> Quindi le qt e cocoa che funzionano con il 'supporto', infine le wx 
> che necessitano di girare in un altro thread per funzionare 
> correttamente, una ricetta per usare twisted e le wx in 2 thread 
> indipendenti e` presente nel cookbook di python sul sito della 
> activestate.
>



More information about the Python mailing list