Je n'ai jamais utilisé GTK, mais d'après mon expérience personnelle avec Qt:
C'est bien plus qu'une simple interface graphique. C'est tout un cadre d'application. J'avais l'habitude de penser que c'était les bibliothèques Java pour C ++. Il fournit tout ce que vous mentionnez - base de données, XML, mise en réseau et threading, etc. Il fournit également des éléments tels que des conteneurs et des itérateurs, ainsi que des équivalents à un certain nombre de bibliothèques boost.
Ce qui m'a le plus impressionné lorsque j'ai commencé à utiliser Qt, c'est la documentation extrêmement complète. Vous obtenez un programme appelé Qt Assistant, qui fournit une documentation API entièrement indexée et consultable sur votre bureau, ainsi que de nombreux exemples de code et tutoriels. J'ai trouvé que cela faisait une grande différence en recherchant chaque fois sur le Web des informations sur l'API. Accès très rapide lorsque vous devez vous souvenir d'une signature de méthode.
Je ne sais pas lequel est le plus courant; c'est probablement difficile à mesurer avec précision. Ils sont certainement tous les deux populaires. Comme Gnome est le bureau par défaut d'Ubuntu et que Gnome se trouve au-dessus de GTK, il est évidemment largement utilisé. Bien sûr, KDE est également très populaire. Nokia pousse fortement Qt dans l'espace mobile - leur système d'exploitation Maemo, utilisé sur le nouveau N900 par exemple, va bientôt passer à Qt comme boîte à outils par défaut (actuellement, c'est GTK.) Je pense que Qt deviendra également bientôt la boîte à outils par défaut. pour Symbian OS.
Je n'ai pas utilisé Qt Creator, mais j'ai entendu beaucoup de bonnes choses à son sujet. C'est un IDE C ++ avec une forte intégration évidente avec Qt. Il a également une fausse émulation vim qui est toujours agréable si vous aimez ce genre de chose!
Qt utilise qmake pour la configuration de la construction. J'ai trouvé cela beaucoup plus agréable que d'avoir à écrire vos propres makefiles. Je ne sais pas ce que GTK utilise pour la construction.
Au début, certaines choses que j'ai trouvées un peu décevantes avec Qt étaient ses grandes utilisations des macros de préprocesseur. Le système signal / slots fournit un mécanisme intéressant pour le passage d'événements / messages dans votre application, mais cela ressemble un peu à de la magie qui peut ne pas être facilement transférable vers une autre boîte à outils si vous le souhaitez. De plus, le moc (compilateur de méta-objets), bien que je ne sois pas tout à fait sûr de ce qu'il fait, ressemble aussi un peu trop à la magie qui se déroule dans les coulisses.
Dans l'ensemble, cependant, je recommanderais Qt, en particulier si vous apprenez. Il a une documentation vraiment incroyable et un bel IDE, et des forums occupés. Vous serez en mesure de créer des applications C ++ très rapidement avec lui, en particulier avec le QML à venir dans 4.7.