Pagina 1 di 1

QT vs GTK

Inviato: ven 23 nov 2007, 12:47
da ccts2002
BUONGIORNO A TUTTI!!!
devo sviluppare una applicazione con gui...la mia prima idea era di svilupparla in qt, poi ho visto le gtk e mi è venuto un dubbio...
come il confronto tra le due, intermini di ''pesantezza'' dell'applicazione, facilità di creazione della gui, portabilità, prestazioni, etc...
va detto che io non conosco nessuno dei due tipi di libreria...quindi cominciare con una o con l'altra non mi crea alcun problema...

GRAZIE!!!!

Inviato: ven 23 nov 2007, 13:09
da gallows
Personalmente preferisco GTK+. Di Qt non mi piacciono le API, l'uso delle macro (sì, nelle GTK+ si usano, ma quello è C!) e l'aspetto finale che cozza con il mio DE (Xfce).
Sicuramente le GTK+ (in C) sono un po' più ostiche delle Qt (C++), ma esiste il binding C++ (gtkmm) che è molto buono e meno complesso (soprattutto per l'ereditarietà che è nativa...).
Per la pesantezza ci vorrebbero dei benchmark, ma ad occhio GTK+ mi sembra leggermente migliore.

Per la portabilità... Qt è leggermente più portabile, ma in realtà non ci vuole molto a far girare la tua applicazione GTK+ su Windows (su un*x funziona sicuramente).

Come vedi sono spudoratamente parziale: usa GTK+, se preferisci il C++ allora gtkmm.

Ok, provo ad essere obiettivo: fai qualche esempio di prova con tutti e due (tre?) toolkit e vedi con quale ti trovi meglio, spesso è una banale questione di feeling.

Inviato: ven 23 nov 2007, 13:28
da Bart
Ci sono anche le wxWidgets da valutare!!! http://www.wxwidgets.org/

Inviato: ven 23 nov 2007, 13:33
da wesbluemarine
ma io non me ne intendo molto ma oggettivamente sapevo che le qt erano più veloci e leggere eh...

Inviato: ven 23 nov 2007, 13:44
da absinthe
ragazzi ma sta interfaccia quanto è complessa? e dove deve girare? perchè non è che poi su un pc moderno (anche di 5 anni fa) si vedano grosse differenze! alcune delle gui in giro sono addirittura bindings a suddete api impiegate con il python/perl!

M

Inviato: ven 23 nov 2007, 13:52
da ccts2002
allora...deve poter girare sia su linux che su windows...
poiché la mia idea è che lo deve poter usare sia un pc moderno (come il mio portatile) che un pc di 10 anni fa con 32 MB di ram (come quello che ho casa!!! :D :D ) chiedevo quante risorse chiede...ovvio che poi dipende dal programma, ma la mia era una domanda in generale...per una stessa applicazione, che voi sappiate, è più pesante gtk o qt?
altro problema che mi ero dimenticato di scrivere... :D :D
da quello che ho provato con qt (praticamente un "hello world") se si compila con librerie dinamiche, poi c'è bisogno di distribuirle con l'eseguibile, se si compila staticamente il file diventa enorme...come funziona con le gtk?

grassie...

Inviato: ven 23 nov 2007, 13:56
da Bart
Con le wxwidgets non dovresti avere problemi. Esiste anche un libro che le documenta e sul sito ufficiale trovi parecchia documentazione. Dal sito del progetto:
wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET
A breve dovrebbero poi uscire le 3.0. 8)

Inviato: ven 23 nov 2007, 14:05
da absinthe
ccts2002 ha scritto: da quello che ho provato con qt (praticamente un "hello world") se si compila con librerie dinamiche, poi c'è bisogno di distribuirle con l'eseguibile, se si compila staticamente il file diventa enorme...come funziona con le gtk?

grassie...
non saprei ma di solito non ha senso distribuire le librerie statiche: al più crei un pacchetto windows per le qt... anche se dovrebbero avere qualcosa di già pronto!

imho bart ha ragione: le wxWidget sono la soluzione migliore se deve girare anche su win: lì usi l'interfaccia nativa di win, su linux usi l'interfaccia con cui sono compilate le wxWidget (di default gtk) e il codice è immutato!

tra l'altro un interfaccia fatta con wxWidgets gira pure sul mac se ricordo bene...

edit---

sì: girano su mac si vede dal quote di bart .

M

Inviato: ven 23 nov 2007, 14:12
da albatros
Considera anche fltk:
http://www.fltk.org

Cito dalla home page del progetto:
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation.

FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes.

FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking.
Personalmente le ho appena provate tempo fa dopo aver letto un articolo su una rivista, non mi hanno entusiasmato granché, ma forse potrebbero fare al caso tuo...

Inviato: ven 23 nov 2007, 14:16
da gallows
ccts2002 ha scritto:da quello che ho provato con qt (praticamente un "hello world") se si compila con librerie dinamiche, poi c'è bisogno di distribuirle con l'eseguibile, se si compila staticamente il file diventa enorme...come funziona con le gtk?
Lo stesso. Per GTK+ esistono gli eseguibili che ti installano le librerie su Windows. Ma se ad esempio c'è già gaim/pidgin installato non c'è bisogno...

Inviato: ven 23 nov 2007, 15:54
da ildiama
Allora.. volevo fare un commento più ragionato, ma ho visto che molti non si son fatti problemi a spingere verso le loro preferenze.. :D

.. quindi usa Qt! Qt4!

* la portabilità è gratis, se usi codice Qt è 100% win - lin - mac
* anche le licenze sono a posto, su tutti e tre
* come wxwidgets utilizzano le interfacce native, Poi su linux puoi sbizzarrirti un pò di più (ma questo è ovvio..)
* la documentazione é tanta e ottima e ce l'hai già(digita assistant sulla konsole e te ne accorgerai..)
* Per la pesantezza ci vorrebbero dei benchmark, ma ad occhio Qt mi sembra leggermente migliore.

Come vedi sono spudoratamente parziale: usa Qt e vedrai che non tornerai indietro.

Ok, provo ad essere obiettivo: fai qualche esempio di prova con tutti e due (tre? quattro?) toolkit e vedi con quale ti trovi meglio, Secondo me sceglierai Qt...

PS: scusa. L'obiettività non è il mio forte. :lol:

Inviato: ven 23 nov 2007, 16:15
da tgmx
ildiama ha scritto:Allora.. volevo fare un commento più ragionato, ma ho visto che molti non si son fatti problemi a spingere verso le loro preferenze.. :D

.. quindi usa Qt! Qt4!

* la portabilità è gratis, se usi codice Qt è 100% win - lin - mac
* anche le licenze sono a posto, su tutti e tre
* come wxwidgets utilizzano le interfacce native, Poi su linux puoi sbizzarrirti un pò di più (ma questo è ovvio..)
* la documentazione é tanta e ottima e ce l'hai già(digita assistant sulla konsole e te ne accorgerai..)
* Per la pesantezza ci vorrebbero dei benchmark, ma ad occhio Qt mi sembra leggermente migliore.

Come vedi sono spudoratamente parziale: usa Qt e vedrai che non tornerai indietro.

Ok, provo ad essere obiettivo: fai qualche esempio di prova con tutti e due (tre? quattro?) toolkit e vedi con quale ti trovi meglio, Secondo me sceglierai Qt...

PS: scusa. L'obiettività non è il mio forte. :lol:
Concordo in pieno....

aggiungo che a differenza delle QT3, le QT4 hanno un approccio nuovo che consente maggiore integrazione con kdevelop.
A differenza degli altri non ho mai provato le GTK ma sono talmente soddisfatto delle QT che non le cambierei per nessuna ragione... :D

Inviato: ven 23 nov 2007, 17:40
da ccts2002
mi sa che farò come suggerite...creo un'applicazione di prova con tutte e quattro le librerie (qt,gtk,fltk,e vxWidget) e vedo con quali mi trovo meglio...
state attenti che se ho problemi vi chiedo!!!! :lol: :lol:

Inviato: ven 23 nov 2007, 21:08
da alessiodf
Qt4: per portabilita', semplicita' potenza, ecc... 8)