View Full Version : [Python] WxWidgets o GTK+?
Salve a tutti!
sto imparando a scuola Java ma sono rimasto molto colpito da Python, dalla sua sintassi semplice, pulita ma al tempo stesso elegante... ed è per questo che un libro è in arrivo :D
ora, dopo averlo letto vorrei abbinarci un toolkit grafico in modo da poter sviluppare qualcosa di carino... e sono indeciso fra i due sopracitati, chiedo il parere di qualcuno che li conosca.
GTK+ mi aveva attirato perchè uso principalmente Linux e Gnome, ma ben guardando ho notato che il look non si integra molto bene in altri sistemi operativi e pensare di programmare solo per Unix sarebbe limitante (in fatto di potenziale utenza, beninteso).
Ho sentito invece parlare molto bene di WxWidgets, dicono che l'integrazione sia ottima e programmarci sia piacevole, vorrei possibilmente allontanarmi dallo stile di JavaSwing che trovo abbastanza frustrante (specialmente nella gestione dei controlli sui componenti, ActionListener, ItemListener e via dicendo...).
Insomma, cosa mi consigliate? Python + WxWidgets mi sembra un'accoppiata vincente, ma prima di buttarmi a capofitto in qualcosa vorrei sentire qualche parere di gente che ne sa più di me!
Oppure pyQt ?
Personalmente conosco un minimo di tutte e tre le librerie, però non i binding per Python. Fra tutte preferisco le Qt, però sinceramente non posso giudicare quale sia il binding qualitativamente migliore..
Oppure pyQt ?
Personalmente conosco un minimo di tutte e tre le librerie, però non i binding per Python. Fra tutte preferisco le Qt, però sinceramente non posso giudicare quale sia il binding qualitativamente migliore..
ci avevo pensato ma l'ho scartato in partenza perchè non uso KDE e creare applicazioni sulla base delle sue librerie mi sembra inutile... non apprezzo proprio l'aspetto, de gustibus, ovviamente.
Lascia assolutamente perdere Gtk :)
Per WxWidgets non ho esperienza, ma ho sentito alcuni lamentarsi per i vari bug e alcuni sw come il designer commerciali e mi pare un progetto un pò fermo
Ti consiglio vivamente di usare PyQT. QT oltre ad essere open source e sotto LGPL gode di uno sviluppo vivissimo, documentazione stupenda, e di una diffusione su varie piattaforme mobili come Symbian, Maemo (Nokia N900) più i classici Win, Linux/BSD, Mac OS X.
QT non ha decisamente rivali
ci avevo pensato ma l'ho scartato in partenza perchè non uso KDE e creare applicazioni sulla base delle sue librerie mi sembra inutile... non apprezzo proprio l'aspetto, de gustibus, ovviamente.
http://labs.trolltech.com/blogs/2008/09/05/qgtkstyle-now-part-of-qt/ :)
http://labs.trolltech.com/blogs/2008/05/13/introducing-qgtkstyle/
Lascia assolutamente perdere Gtk :)
Per WxWidgets non ho esperienza, ma ho sentito alcuni lamentarsi per i vari bug e alcuni sw come il designer commerciali e mi pare un progetto un pò fermo
Ti consiglio vivamente di usare PyQT. QT oltre ad essere open source e sotto LGPL gode di uno sviluppo vivissimo, documentazione stupenda, e di una diffusione su varie piattaforme mobili come Symbian, Maemo (Nokia 900) più i classici Win, Linux/BSD, Mac OS X.
QT non ha decisamente rivali
http://labs.trolltech.com/blogs/2008/09/05/qgtkstyle-now-part-of-qt/ :)
http://labs.trolltech.com/blogs/2008/05/13/introducing-qgtkstyle/
davvero interessate QGtkStyle, usa l'engine nativo di Gnome, non ne avevo mai sentito parlare!
ti ringrazio dei consigli, ti posso chiedere come mai mi sconsigli le GTK+?
Perché non li provi tutti ? Magari con il relativo GUI Designer.
Ryuzaki_Eru
23-02-2010, 17:42
PyQT :D
anonimizzato
23-02-2010, 17:56
Direi sicuramente Qt, ho avuto modo di provarle un poco con Ruby e mi hanno favorevolmente impressionato.
Che le Qt siano migliori di GTK+ e wxWidgets non ci piove... Bisognerebbe valutare la bontà del binding PyQt su Gnome.
Ryuzaki_Eru
23-02-2010, 18:17
Che le Qt siano migliori di GTK+ e wxWidgets non ci piove... Bisognerebbe valutare la bontà del binding PyQt su Gnome.
Non deludono le aspettative ;)
vedo che mi consigliate tutti PyQT...
il fatto è che davvero non sopporto KDE (l'ho trovato solo peggiorato nel passaggio 3.x -> 4.x) quindi sono un pò reietto a spendere il mio poco tempo libero per imparare ad usare le sue librerie... il mio obiettivo è essere multipiattaforma, ma come SO principale uso Ubuntu quindi preferirei appoggiarmi a GTK+ (cosa possibile sia utilizzando le GTK stesse che wxWidgets) inoltre le Wx hanno il vantaggio di apparire native sotto ogni piattaforma.
apprezzo i vostri consigli e ora vi vorrei porgere una domanda ben precisa... cosa risulta più "piacevole" da programmare? non vorrei ripetere la frustrante esperienza di Swing che, seppur potente, risulta davvero macchinoso.
Qt, Gtk+, WxWidgets o altro?
Usandole in C++ sicuramente le Qt.
Anche le Qt appaiono native su ogni piattaforma ;)
Io uso le PyQT da un mesetto e mi ci trovo bene. Hanno dei meccanismi che mi piacciono molto (ma questo va a gusti!) e trovo che con python vadano splendidamente d'accordo!
davvero le Qt appaiono a loro volta native? quale meccanismo usano?
Io uso le PyQT da un mesetto e mi ci trovo bene. Hanno dei meccanismi che mi piacciono molto (ma questo va a gusti!) e trovo che con python vadano splendidamente d'accordo!
a quali meccanismi ti riferisci in particolare?
Su GTK+come hai visto c'è QGTKStyle, negli altri sistemi c'è il relativo stile che viene usato automaticamente.
http://doc.trolltech.com/4.6/qstyle.html
Il look & feel è comunque emulato, perché le Qt non disegnano mai i controlli usando le API del sistema operativo, ma disegnano esclusivamente pixel per pixel.
Oppure ti potrebbe interessare anche questo :D http://labs.trolltech.com/blogs/2009/10/30/windows-mobile-65-support/
davvero le Qt appaiono a loro volta native? quale meccanismo usano?
a quali meccanismi ti riferisci in particolare?
Il meccanismo di SIGNAL/SLOT sembra fatto apposta per python, mentre lo trovo un po' "macchinoso" (ma dev'essere così per esigenze tecniche, dato che il c++ è compilato) in c++.
Il model/view/delegate pattern utilizzato dai controlli lista è un po' ostico all'inizio ma se ne apprezza la potenza man mano che si complicano le cose (e permette di risolvere elegantemente un gran numero di problemi!).
Qt Designer è favoloso e può essere utilizzato indistintamente con qualsiasi binding di qt (ovviamente, perché sputa fuori xml che poi vengono trasformati in codice sorgente da appositi programmi che le varia librerie devono fornire, le pyqt, ad esempio, hanno pyuic4).
Poi, ti ripeto, utilizzo le qt da un mesetto scarso e quindi non le uso certo al massimo delle loro potenzialità, ma in passato ho utilizzato le wx e la differenza in produttività e in chiarezza del codice è molto evidente.
mentre lo trovo un po' "macchinoso" (ma dev'essere così per esigenze tecniche, dato che il c++ è compilato) in c++.
Hai provato con QtCreator ?
Hai provato con QtCreator ?
L'ho scaricato, ho cominciato ad usarlo ma poi ho provato le pyqt e me ne sono innamorato. Ho letto che è uno strumento potentissimo, quando avrò tempo forse mi ci concentrerò seriamente ;)
L'ho scaricato, ho cominciato ad usarlo ma poi ho provato le pyqt e me ne sono innamorato. Ho letto che è uno strumento potentissimo, quando avrò tempo forse mi ci concentrerò seriamente ;)
Rende appunto più semplici i passaggi che hai descritto. Crea automaticamente i mock e ti permette di creare automaticamente gli slot. Ad esempio: vuoi gestire il signal clicked di un bottone ? Si fa tutto in maniera automatica, ti arriva addirittura a creare il metodo nel .h e nel .cpp.
Inoltre se vuoi collegare uno slot e un signal compatibili come formato, lo puoi fare in modo grafico direttamente sull'editor della Gui.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.