Я ніколи не використовував GTK, але з мого особистого досвіду використання Qt:
Це набагато більше, ніж простий графічний інтерфейс. Це цілий фреймворк програми. Раніше я думав про це як про бібліотеки Java для C ++. Він надає все, що ви згадали, - базу даних, XML, мережеві та потокові передачі тощо. Він також надає такі речі, як контейнери та ітератори, а також аналоги ряду бібліотек підвищення.
Що мене найбільше вразило, коли я почав використовувати Qt, це надзвичайно обширна документація. Ви отримуєте програму під назвою Qt Assistant, яка надає повністю індексовану та доступну для пошуку документацію щодо API на робочому столі, а також численні приклади коду та навчальні посібники. Я виявив, що це робило велику різницю в пошуку кожного разу в Інтернеті інформації про API. Дуже швидкий доступ, коли вам потрібно запам'ятати підпис методу.
Я не впевнений, що є найбільш поширеним; це, мабуть, важко точно виміряти. Вони, звичайно, обидва популярні. Оскільки Gnome є робочим столом Ubuntu за замовчуванням, а Gnome сидить поверх GTK, він, очевидно, широко використовується. Звичайно, KDE також дуже популярний. Nokia активно натискає Qt на мобільний простір - їх Maemo OS, яка використовується, наприклад, на новому N900, незабаром перейде на Qt як набір інструментів за замовчуванням (наразі це GTK.) Я вважаю, що Qt також скоро стане набором інструментів за замовчуванням для ОС Symbian.
Я не використовував Qt Creator, але чув багато хорошого про нього. Це середовище розробки середовища C ++ з очевидною важкою інтеграцією з Qt. Він також має підроблену емуляцію vim, що завжди приємно, якщо вам подобаються такі речі!
Qt використовує qmake для конфігурації збірки. Я знайшов це набагато приємніше, ніж писати власні файли макетів. Я не знаю, що GTK використовує для будівництва.
Кілька речей, які я спочатку виявив трохи невідповідними Qt, - це велике використання макросів препроцесора. Система сигналів / слотів забезпечує приємний механізм передачі подій / повідомлень у вашому додатку, але вона справді схожа на магію, яку, можливо, не легко перенести в інший набір інструментів, якщо ви захочете. Крім того, moc (компілятор мета-об'єктів), хоча я не зовсім впевнений, що він робить, також відчуває себе занадто схожим на магію, що відбувається за лаштунками.
Загалом, я б рекомендував Qt, особливо якщо ви навчаєтесь. Він має справді дивовижну документацію, приємну IDE та зайняті форуми. З ним ви зможете створювати програми на C ++ дуже швидко, особливо з QML, що з’явиться у версії 4.7.