Различия, которые имеют значение между GTK+ и QT?
Каковы более тонкие различия между QT и GTK+?
В частности, мне нужно знать более тонкие различия.
Язык нейтральный, Windows / Linux нейтральный. Только тонкости, пожалуйста...
насколько родными являются виджеты / элементы управления для оконной кормушки, с ее точки зрения? пример: если бы это был текстовый элемент управления, он бы обрабатывал: сообщение WM_COMMAND или EM_SETSEL, отправленное ему? Если нет, то как сторонние приложения / программы чтения с экрана взаимодействуют с элементом управления / виджет?
расширенные виджеты, доступные в одном наборе инструментов и недоступные в другом? дополнения прекрасно поддаются описанию.
каково качество тематизации с точки зрения мультимедиа / специальных эффектов? как специальные эффекты в стиле powerpoint, такие как затухание виджетов/доков. Какова простота кодирования для этих сценариев?
5 ответов:
Примечание : я, вероятно, предвзято отношусь к Qt, поскольку никогда не использовал GTK всерьез.
- система графического представления и сцены Qt потрясающая, GTK имеет только низкоуровневый Cairo.
- написание пользовательских виджетов кажется проще с Qt, вероятно, из-за дизайна OO. Я не знаю, какой API имеет более" продвинутые " виджеты, но базовых, вероятно, достаточно для большинства приложений с небольшой настройкой.
- Если вы хотите полностью пользовательский дисплей для вашего приложения со специальными эффекты и все, вы можете легко написать один на основе графического представления / сцены. Qt 4.7 также добавляет Qt Quick для разработки причудливых интерфейсов, у меня еще не было возможности протестировать его, но он выглядит довольно круто.
В целом я думаю, что оба фреймворка являются отличными и предлагают достаточно для любого приложения, но с Qt вы получаете все в хорошем пакете, когда вам нужно использовать сторонние дополнения или изобретать колесо, чтобы получить ту же самую работу с GTK.
Хотя вы об этом не спрашивали, стоит указать на различные философии между Qt и Gtk+ (или Gtkmm, версия Gtk+на языке C++).
Qt-это полный набор инструментов для разработки приложений. Он включает в себя XML-Парсеры, фреймворк параллелизма и так далее. Gtkmm - это , а не. Из документации gtkmm:Gtkmm-это графический инструментарий и ничего больше, и он стремится быть лучшим C++ GUI toolkit. Этот мандат не действует. охватить общие структуры данных C++, XML парсер, или доступ к базе данных.
Вероятно, более справедливым является сравнение между Qt и Gtkmm + набором библиотек GNOME.
Для продвинутых виджетов библиотеки GNOME действительно хороши - возьмите libgoffice, например. Но у него нет документации для начинающих, и вам придется задавать вопросы в списках рассылки или IRC-каналах. Qt также очень хороша и имеет очень дружественную документацию. Качество и доступность эквивалентны, на мой взгляд, но Qt обычно имеют больше документации или, по крайней мере, документируются более дружелюбно к "посторонним".
Оба имеют высокое качество представления и эффектов. Никакой существенной разницы. Мне нравится внешний вид Gtk+ больше, чем Qt, но это просто вопрос личного вкуса.
Не полный ответ, но:
- Мне действительно трудно ... настройка виджетов в Gtk+, например I хотите, чтобы поведение виджета х, но нужно настроить внешний вид за пределами обычные настройки стиля.
- ОТО мне не нравится Qt
moc, но это больше похоже на личная вещь.- я бы также сильно порекомендуйте Gtkmm (оболочку C++ ) над равниной Gtk+.
Извините, если это смещение к qt и неглубокое
- Qt имеет много эффекта eyecandy (не знаю о gtkmm).
- Qt имеет Qtconcurrent, api более высокого уровня для многопоточности. вероятно, более читаемый чем Qthread Qmutex blablabla...
- исходя из вашего вопроса, я думаю, что вы хотите интегрировать desktop app В www, так что просто сравните сами между qtwebkit , gtkhtml иgtkwebkit , которые, вероятно, подойдут вам лучше.
Я сузил его до XULRunner или GTK+.
Вот почему:
Мне нужно быстро освоиться с внутренними органами. QT делает это трудным для меня с таким большим количеством их простых в использовании решений.
- QT огромен! Я остановил пользовательскую компиляцию после того, как она работала более 4 часов на моем 3Ghz P4! чтобы быть справедливым, QT предоставляет множество предварительно скомпилированных двоичных файлов
- готовые темы для QT выглядят слишком "профессионально". Мне нужно что-то крутое, у GTK+ есть несколько аккуратных тем, которые я могу изменить.
- мне не нужно / не нужно использовать фреймворк для сетей, управления файлами, мультимедиа, webkit или чего-либо еще , кроме интерфейса GUI для других приложений.
Обратите внимание, что лицензия в Qt является LGPL, что недостаточно хорошо для многих коммерческих проектов. То же самое для GTK+, но по крайней мере вы можете заплатить За легальное использование Qt в коммерческих проектах.
Comments