QT vs GTK

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

QT vs GTK

Messaggio 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!!!!

Avatar utente
gallows
Staff
Staff
Messaggi: 3471
Iscritto il: lun 20 set 2004, 0:00
Desktop: cwm
Distribuzione: OpenBSD
Località: ~/
Contatta:

Messaggio 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.

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Ci sono anche le wxWidgets da valutare!!! http://www.wxwidgets.org/

Avatar utente
wesbluemarine
Linux 0.x
Linux 0.x
Messaggi: 96
Iscritto il: mer 12 set 2007, 8:57
Località: Lucca

Messaggio da wesbluemarine »

ma io non me ne intendo molto ma oggettivamente sapevo che le qt erano più veloci e leggere eh...

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio 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

Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

Messaggio 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...

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio 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)

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio 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

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio 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...

Avatar utente
gallows
Staff
Staff
Messaggi: 3471
Iscritto il: lun 20 set 2004, 0:00
Desktop: cwm
Distribuzione: OpenBSD
Località: ~/
Contatta:

Messaggio 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...

Avatar utente
ildiama
Linux 3.x
Linux 3.x
Messaggi: 536
Iscritto il: mar 27 dic 2005, 16:49
Slackware: mine
Kernel: 2.6.alto..
Desktop: KDE4
Località: Senigallia
Contatta:

Messaggio 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:

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Messaggio 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

Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

Messaggio 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:

Avatar utente
alessiodf
Linux 3.x
Linux 3.x
Messaggi: 823
Iscritto il: ven 14 ott 2005, 21:04
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1
Località: Roma
Contatta:

Messaggio da alessiodf »

Qt4: per portabilita', semplicita' potenza, ecc... 8)

Rispondi