Ich habe GTK noch nie benutzt, aber aus meiner persönlichen Erfahrung mit Qt:
Es ist viel mehr als eine einfache GUI. Es ist ein ganzes Anwendungsframework. Früher habe ich es als die Java-Bibliotheken für C ++ angesehen. Es bietet alles, was Sie erwähnen - Datenbank, XML, Netzwerk und Threading und mehr. Es bietet auch Dinge wie Container und Iteratoren sowie Gegenstücke zu einer Reihe von Boost-Bibliotheken.
Was mich am meisten beeindruckt hat, als ich anfing, Qt zu verwenden, war die äußerst umfangreiche Dokumentation. Sie erhalten ein Programm namens Qt Assistant, das eine vollständig indizierte und durchsuchbare API-Dokumentation auf Ihrem Desktop sowie zahlreiche Codebeispiele und Tutorials bietet. Ich fand, dass es einen großen Unterschied machte, jedes Mal im Internet nach API-Informationen zu suchen. Sehr schneller Zugriff, wenn Sie sich eine Methodensignatur merken müssen.
Ich bin mir nicht sicher, welches am häufigsten vorkommt. das ist wahrscheinlich schwer genau zu messen. Sie sind sicherlich beide beliebt. Da Gnome der Standard-Desktop von Ubuntu ist und Gnome auf GTK basiert, ist es offensichtlich weit verbreitet. Natürlich ist KDE auch sehr beliebt. Nokia treibt Qt im mobilen Bereich stark voran - das Maemo-Betriebssystem, das beispielsweise auf dem neuen N900 verwendet wird, wird bald auf Qt als Standard-Toolkit umsteigen (derzeit ist es GTK). Ich glaube, Qt wird bald auch das Standard-Toolkit für Symbian OS.
Ich habe Qt Creator nicht verwendet, aber ich habe viele gute Dinge darüber gehört. Es ist eine C ++ - IDE mit offensichtlich starker Integration in Qt. Es hat auch eine gefälschte Vim-Emulation, die immer schön ist, wenn Sie so etwas mögen!
Qt verwendet qmake für die Build-Konfiguration. Ich fand das viel schöner, als eigene Makefiles schreiben zu müssen. Ich weiß nicht, was GTK zum Bauen verwendet.
Ein paar Dinge, die ich anfangs mit Qt etwas abschreckend fand, waren die großen Verwendungen von Präprozessor-Makros. Das Signal- / Slots-System bietet einen nützlichen Mechanismus für die Weitergabe von Ereignissen / Nachrichten in Ihrer Anwendung, fühlt sich jedoch ein bisschen wie Magie an, die möglicherweise nicht einfach auf ein anderes Toolkit übertragen werden kann, wenn Sie dies jemals möchten. Auch der moc (Meta-Objekt-Compiler) fühlt sich, obwohl ich nicht ganz sicher bin, was er tut, ein bisschen zu sehr nach Magie an, die sich hinter den Kulissen abspielt.
Alles in allem würde ich Qt empfehlen, besonders wenn Sie lernen. Es hat wirklich erstaunliche Dokumentation und eine schöne IDE und vielbeschäftigte Foren. Sie können damit sehr schnell C ++ - Apps erstellen, insbesondere mit der QML in 4.7.