non ho mai usato GTK, ma dalla mia esperienza personale con Qt:
è molto, molto più della semplice interfaccia grafica, è un intero framework applicativo: pensavo ad esso come alle librerie Java per C++, fornisce tutto ciò che si menziona - database, XML, networking e threading e altro ancora. Fornisce anche cose come contenitori e iteratori e controparti di un certo numero di librerie di boost
La cosa che mi ha colpito di più quando si inizia a utilizzare Qt was t Ha una documentazione estremamente ampia. Si ottiene un programma chiamato Qt Assistant, che fornisce documentazione API completamente indicizzata e ricercabile sul desktop, oltre a numerosi esempi di codice e tutorial. Ho riscontrato che ha fatto una grande differenza per la ricerca sul Web ogni volta per le informazioni API. Accesso molto rapido quando è necessario ricordare una firma del metodo.
Non sono sicuro di quale sia il più comune; probabilmente è difficile da misurare con precisione. Sono certamente entrambi popolari. Poiché Gnome è il desktop predefinito di Ubuntu e Gnome si trova in cima a GTK, ovviamente ha un utilizzo diffuso. Certo, anche KDE è molto popolare. Nokia sta spingendo pesantemente Qt nello spazio mobile - il loro sistema operativo Maemo, ad esempio sul nuovo N900, ad esempio, passerà presto a Qt come toolkit predefinito (attualmente è GTK.) Credo che anche Qt diventerà presto il toolkit predefinito per Sistema operativo Symbian.
Non ho usato Qt Creator, ma ho sentito molte cose positive a riguardo. È un IDE C++ con ovvia pesante integrazione con Qt. Ha anche un'emulazione vim finta, che è sempre bella se ti piace quel genere di cose!
Qt utilizza qmake per la configurazione di build. Ho trovato questo molto più bello di dover scrivere i tuoi makefile. Non so cosa GTK usi per la costruzione.
Un paio di cose che ho trovato un po 'scoraggiante con Qt all'inizio erano i suoi grandi usi delle macro del preprocessore. Il sistema signal/slots fornisce un buon meccanismo per il passaggio di eventi/messaggi nell'applicazione, ma sembra un po 'magico che potrebbe non essere facilmente trasferibile su un altro toolkit se lo si desidera. Anche il moc (compilatore di meta-oggetti), anche se non sono del tutto sicuro di quello che fa, si sente anche un po 'troppo simile alla magia che accade dietro le quinte.
Tutto sommato, tuttavia, consiglierei Qt, in particolare se stai imparando. Ha una documentazione davvero incredibile e un IDE carino e forum molto affollati. Sarai in grado di creare applicazioni C++ molto rapidamente con esso, in particolare con il QML in arrivo in 4.7.
In origine, c'era un sacco di polemiche circa il modello di licenza Qt che era o pieno GPL o commerciali, mentre GTK + era LGPL (così quest'ultimo era più facile da usare in combinazione con il prodotto closed source). Ma ora Qt è disponibile anche come LGPL IIRC, quindi non è più una vera ragione per sceglierne uno o l'altro. – Roalt
Si potrebbe anche guardare a questa domanda per lo più correlata: http://stackoverflow.com/questions/1801074/what-are-the-differences-between-gtk-and-qt –
E ancora una buona domanda chiusa su StackOverflow. Voglio aggiungere che se hai bisogno di un buon widget HTML integrato devi usare GTK ora (dopo che QT 5.2 è passato a un set di funzionalità ridotto drasticamente/inutilizzabile) o usare QT e incorporare il Chrome CEF che sta aggiungendo molte cose, complicazione e 20 MB alla tua app. – Lothar