Различия, которые имеют значение между GTK + и QT? - PullRequest
2 голосов
/ 13 ноября 2010

Каковы тонкие различия между QT и GTK +?

В частности, мне нужно знать тонкие различия. Язык нейтрален, Windows / Linux нейтрален. Только тоньше, пожалуйста ...

  1. Как native являются виджетами / элементами управления для менеджера окон с его точки зрения? Пример: Если бы это был текстовый элемент управления, он обработал бы: отправлено сообщение WM_COMMAND или EM_SETSEL к этому? Если нет, то как сторонние приложения / программы чтения с экрана взаимодействуют с элементом управления / виджетом?
  2. Расширенные виджеты, доступные в одном наборе инструментов и не доступные в другом? Дополнения можно описать.
  3. Каково качество тем с мультимедиа / спецэффекты точка зрения? как спецэффекты в стиле powerpoint, такие как затухание виджетов / доков. Какова простота кодирования для этих сценариев?

Ответы [ 5 ]

4 голосов
/ 15 ноября 2010

Примечание : Я, вероятно, смещен в сторону Qt, поскольку я никогда не использовал GTK всерьез.

  • Графическое представление Qt и система сцен потрясающие, GTK имеет только низкий уровень Cairo.
  • Написание пользовательских виджетов кажется проще с Qt, возможно, из-за дизайна ОО.Я не знаю, в каком API есть более «продвинутые» виджеты, но базовых, вероятно, достаточно для большинства приложений с небольшой настройкой.
  • Если вы хотите полностью настраиваемое отображение для вашего приложения со специальными эффектамии все, вы можете легко написать один на основе графического представления / сцены.Qt 4.7 также добавляет Qt Quick для разработки модных интерфейсов, у меня еще не было возможности протестировать его, но он выглядит довольно круто.

В целом, я думаю, что оба являются хорошими фреймворкамии предлагать достаточно для любого приложения, но с Qt вы получаете все в хорошем пакете, когда вам нужно использовать сторонние дополнения или заново изобретать колесо, чтобы выполнить ту же работу с GTK.

3 голосов
/ 15 ноября 2010

Хотя вы не спрашивали об этом, стоит указать на различные философии между Qt и Gtk + (или Gtkmm, версия Gtk + для C ++).

Qt - это полный набор инструментов для разработки приложений. Он включает в себя парсеры XML, инфраструктуру параллелизма и так далее. Гткмм не . Из документации gtkmm:

gtkmm это инструментарий GUI и ничего больше, и он стремится быть лучшим Инструментарий C ++ GUI. Этот мандат не охватывает общие структуры данных C ++, Анализатор XML или доступ к базе данных.

Вероятно, более справедливое сравнение - между Qt и Gtkmm + набором библиотек GNOME.

Для продвинутых виджетов библиотеки GNOME действительно хороши - например, libgoffice. Но у него нет документации, удобной для начинающих, и вам придется задавать вопросы в списках рассылки или каналах IRC. Qt также очень хорош и имеет много дружественной документации. На мой взгляд, качество и доступность эквивалентны, но Qt обычно имеет больше документации или, по крайней мере, документируется более дружественным образом для «посторонних».

Оба имеют высокое качество представления и эффекты. Нет значимой разницы. Мне нравится внешний вид Gtk + больше, чем Qt, но это просто вопрос личного вкуса.

1 голос
/ 13 ноября 2010

Не полный ответ, но:

  • Мне действительно трудно настроить виджеты в Gtk +, например я хочу поведение виджета X, но нужно настроить внешний вид обычные настройки стиля.
  • OTOH Мне не нравятся Qt's moc, но это больше личная вещь.
  • Я бы тоже сильно рекомендую Gtkmm (оболочка C ++) над равниной Gtk +.
0 голосов
/ 15 ноября 2010

Я сузил его до XULRunner или GTK + .

И вот почему:

  • Мне нужно быстро познакомиться с внутренностями. QT делает это трудным для меня из-за их простых в использовании решений.
  • QT ОГРОМНО! Я остановил пользовательскую компиляцию после 4 часов работы на моем 3G4 P4! Если честно, QT предоставляет множество предварительно скомпилированных двоичных файлов
  • Стандартные темы для QT выглядят слишком профессионально. Мне нужно что-то классное, в GTK + есть несколько интересных тем, которые я могу изменить.
  • Мне не нужно / я не хочу использовать инфраструктуру для работы в сети, управления файлами, мультимедиа, веб-набора или чего-либо еще помимо интерфейса с графическим интерфейсом для других приложений.

Обратите внимание, что лицензия на Qt - LGPL, что недостаточно для многих коммерческих проектов. То же самое для GTK +, но по крайней мере вы можете заплатить за законное использование Qt в коммерческих проектах.

0 голосов
/ 14 ноября 2010

Извините, если этот уклон к Qt и мелкой

  • У Qt много эффекта eyecandy (не знаю о gtkmm).
  • Qt имеет Qtconcurrent, API более высокого уровня для многопоточности. вероятно, более читабельный чем Qthread Qmutex blablabla ...
  • Исходя из вашего вопроса, я думаю, что вы хотите интегрировать настольное приложение в www, так что просто сравните между собой qtwebkit , gtkhtml и gtkwebkit , который, вероятно, подойдет вам лучше.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...