Qt, Gtk, WxWidgets - что выбрать?
От: nanim Земля  
Дата: 23.02.13 14:36
Оценка:
добрый день, друзья

возник выбор — для проекта (не на работе, а собственного) выбираю GUI фрэймворк. желательно (очень сильно предпочтительно) кроссплатформенный, поэтому MFC, WTL и что-то подобное сразу отваливается. интерфейс должен быть довольно-таки красивым, нужны модные контролы.

QT, в чем плюсы — очень популярный и жутко много инфомарции (книги, статьи, тп), можно быстро сделать интерфейс (по сравнению с MFC). скачал LastFm Scrobbler (сделан на QT) — красивый интерфейс, очень забавный, но этот маленький легкий клиентик весит аж !60 мб — это катастрофа. хотя, видимо, это не только из-за QT : ) а еще злые языки поговаривают, что иногда не слишком быстро QT приложения шмыгают — так ли это?

GTK, WxWidgets — документации значительно меньше, информации на форумах тоже само-собой, на счет таких же удобных редакторов и бла-бла тоже вроде бы как похуже.

может быть что-то еще есть подобного рода?

буду очень рад услышать Ваши ответы. спасибо Большое : )
Re: Qt, Gtk, WxWidgets - что выбрать?
От: enji  
Дата: 23.02.13 15:26
Оценка: 1 (1) +1
Здравствуйте, nanim, Вы писали:

N>буду очень рад услышать Ваши ответы. спасибо Большое : )


qtcore весит 2 метра, qtgui — 8. Работа с сеткой, xml, БД отдельными либами — тут хз что тебе надо.

Опять таки, 60 метров — в чем проблема то?
К примеру tortoisehg, которая включает в себя qt, питон, меркуриал и еще несколько либ — инсталлятор порядка 30 метров, установленное приложение весит 80.

Если твое приложение будет опенсурсным, можешь собирать статически и несколько сэкономить, выкинув неиспользуемый код.

Я делал несколько утилит приличного размера на Qt — штука довольно удобная. Некоторых раздражает свой препроцессор, мне он неудобств не доставляет. Дока к ней просто фантастическая. Не просто формальная, практически по каждому классу есть подробное описание, примеры. Что напрягает — после тех же дельфей — относительно малое количество компонентов. К примеру, в составе Qt есть все для скинов. Но готовых наборов скинов нету...

Код приятный и понятный (по сравнению с тем же бустом). Шаблоны есть, но относительно простые. В самой либе нету исключений, но как я понимаю, она не запрещает кидать их пользователю.

На WxWidgets я когда-то что-то маленькое пытался писать, что-то не впечатлило, уже не помню почему. По GTK только читал какое-то описание, так что сравнить с Qt не могу.
Re: Qt, Gtk, WxWidgets - что выбрать?
От: MTD https://github.com/mtrempoltsev
Дата: 23.02.13 15:26
Оценка: 1 (1)
Здравствуйте, nanim, Вы писали:

N>60 мб — это катастрофа. хотя, видимо, это не только из-за QT : ) а еще злые языки поговаривают, что иногда не слишком быстро QT приложения шмыгают — так ли это?


Если не линковать статически, то библиотеки Qt прибавят 8-10 Мб к твоему дистрибутиву. Что такое шмыгают не знаю. Если вопрос про отзывчивость интерфейса, то злые не языки не слушай — все работает быстро.

N>GTK, WxWidgets — документации значительно меньше, информации на форумах тоже само-собой, на счет таких же удобных редакторов и бла-бла тоже вроде бы как похуже.


Не связывайся.
Re: Qt, Gtk, WxWidgets - что выбрать?
От: Аноним  
Дата: 23.02.13 15:31
Оценка: 1 (1)
Qt — хорошая кростплатформенность(даже на мобильный сегмент)
Re[2]: Qt, Gtk, WxWidgets - что выбрать?
От: nanim Земля  
Дата: 23.02.13 16:02
Оценка:
спасибо за содержательный ответ, в сторону QT смотрю уже серьезнее : )

а вот про IDE теперь — Eclipse, NetBeans, QTCreator — понятно, что для QT удобнее последний выбрать, как я понимаю, к двум другим тоже можно дизайнер QT форм прикрутить и есть ли вообще плюсы какие-то в связках Eclipse+QT, NetBeans+QT в сравнении с его родным QTCreator (кстати, есть ли что-то подобное VisualAssistX в этой IDE? и можно ли сделать что-то подобное MSVS solution, чтобы был 1 проект — собственно проект, а второй, например, гугл тесты?) ?

спасибо : )
Re[3]: Qt, Gtk, WxWidgets - что выбрать?
От: enji  
Дата: 23.02.13 16:56
Оценка: 2 (2)
Здравствуйте, nanim, Вы писали:

N>спасибо за содержательный ответ, в сторону QT смотрю уже серьезнее : )


N>а вот про IDE теперь — Eclipse, NetBeans, QTCreator — понятно, что для QT удобнее последний выбрать, как я понимаю, к двум другим тоже можно дизайнер QT форм прикрутить и есть ли вообще плюсы какие-то в связках Eclipse+QT, NetBeans+QT в сравнении с его родным QTCreator


Я использую Eclipse для всех своих проектов на С++, поэтому его же использую и для Qt. Плюсы — там настраиваемая семантическая подсветка и неплохой анализатор кода. Ну и билд у меня на scons, хз, прикручивается ли он к креатору. В качестве компилятора использую msvc, в основном из-за удобной отладки.

Минусы — нужна некоторая настройка, нет автокомплита для слотов-сигналов (ибо это макросы и эклипсу неизвестна их особая роль), нет интеграции с дизайнером форм. Для быстрого старта, конечно, удобнее взять QtCreator. Но у креатора с мингв под виндой проблемы с отладкой...

Кстати, qmake, помнится, умеет и проекты для студии генерировать. Так что если купленная студия с асистом — возможно самое оно. У меня студия экспресс, поэтому мне эклипс удобнее.
Re[4]: Qt, Gtk, WxWidgets - что выбрать?
От: serjjj Россия  
Дата: 24.02.13 10:12
Оценка:
Здравствуйте, enji, Вы писали:

E>Но у креатора с мингв под виндой проблемы с отладкой...


Что за проблемы?
Re[5]: Qt, Gtk, WxWidgets - что выбрать?
От: enji  
Дата: 24.02.13 17:04
Оценка:
Здравствуйте, serjjj, Вы писали:

E>>Но у креатора с мингв под виндой проблемы с отладкой...


S>Что за проблемы?


я пробовал qt4.7. Были тормоза и падения отладчика на вполне тривиальных примерах. Возможно сейчас что-то поменялось, не проверял.
Re[6]: Qt, Gtk, WxWidgets - что выбрать?
От: lexer_lx Украина  
Дата: 25.02.13 19:04
Оценка:
E>я пробовал qt4.7. Были тормоза и падения отладчика на вполне тривиальных примерах. Возможно сейчас что-то поменялось, не проверял.

Ничего не изменилось. Breakpoint'ы мы игнорируем, на некоторых останавливаемся и тут же падаем, хотя постоянно кто-то говорит что у него "вроде работало" =)
Мы используем студию+VA+QtDesigner ну и Creator под линухом.
Re: Qt, Gtk, WxWidgets - что выбрать?
От: alex_public  
Дата: 28.02.13 17:07
Оценка:
Здравствуйте, nanim, Вы писали:

N>добрый день, друзья


N>возник выбор — для проекта (не на работе, а собственного) выбираю GUI фрэймворк. желательно (очень сильно предпочтительно) кроссплатформенный, поэтому MFC, WTL и что-то подобное сразу отваливается. интерфейс должен быть довольно-таки красивым, нужны модные контролы.


N>QT, в чем плюсы — очень популярный и жутко много инфомарции (книги, статьи, тп), можно быстро сделать интерфейс (по сравнению с MFC). скачал LastFm Scrobbler (сделан на QT) — красивый интерфейс, очень забавный, но этот маленький легкий клиентик весит аж !60 мб — это катастрофа. хотя, видимо, это не только из-за QT : ) а еще злые языки поговаривают, что иногда не слишком быстро QT приложения шмыгают — так ли это?


N>GTK, WxWidgets — документации значительно меньше, информации на форумах тоже само-собой, на счет таких же удобных редакторов и бла-бла тоже вроде бы как похуже.


N>может быть что-то еще есть подобного рода?


N>буду очень рад услышать Ваши ответы. спасибо Большое : )


Qt сильнее всех по кроссплатформенности (в смысле количества платформ, а не качества) и по широте библиотек. Но при этом мне не нравится их подход с извращением языка. Грубо говоря работая с Qt, вы работаете уже не на C++, а на неком извращение, которое становится C++ только после своего препроцессора. Да, и главное, на самом деле это не нужно было делать, т.к. то, чего они хотели добиться, сейчас в других библиотеках без проблем реализуется средствами чистого C++. Это так сказать тёмное наследие у них...

WxWidgets соответственно чуть послабее, но без левых извращений. И плюс у неё есть свои фирменные штучки, типа того что под всеми платформами у неё нативный интерфейс (особенно актуально для Mac).

Gtk вообще не конкурент этим двум.

Да, ещё замечу что Qt и wxWidgets это не просто GUI фреймворки — там скорее есть вообще всё. Соответственно если вам нужен только GUI то выбор гораздо богаче и есть много легковесных продуктов. Какие-нибудь там FLTK и т.п. А если брать ещё и GUI с собственной графической прорисовкой (на opengl там и т.п.) то ещё цела куча добавляется.
Re[2]: Qt, Gtk, WxWidgets - что выбрать?
От: nen777w  
Дата: 01.03.13 00:12
Оценка:
_>Qt сильнее всех по кроссплатформенности (в смысле количества платформ, а не качества) и по широте библиотек. Но при этом мне не нравится их подход с извращением языка. Грубо говоря работая с Qt, вы работаете уже не на C++, а на неком извращение, которое становится C++ только после своего препроцессора. Да, и главное, на самом деле это не нужно было делать, т.к. то, чего они хотели добиться, сейчас в других библиотеках без проблем реализуется средствами чистого C++. Это так сказать тёмное наследие у них...

Люто +ю, сам недавно накнулся на такие проблемы. Если крато то шаблоны и классы в стиле Qt не совместимы, если не кратоко то тут
Автор: nen777w
Дата: 30.01.13

Но кактус жрать продолжаю, потому как на Qt очень быстро и просто делается GUI + всякие стили (с чем ещё особо глубоко не разбирался) позволяют красиво замодить приложение подав на вход движку только декларативное описание того что Вы хотите. В остальном потоки, работа с файлами и прочее есть в boost потому туда пока не совался и наверно не буду.
Re[2]: Qt, Gtk, WxWidgets - что выбрать?
От: SaZ СССР  
Дата: 05.03.13 09:29
Оценка:
Здравствуйте, enji, Вы писали:

E>qtcore весит 2 метра, qtgui — 8. Работа с сеткой, xml, БД отдельными либами — тут хз что тебе надо.


Btw,
Не знаю, как с точки зрения лицензий (буду признателен, если объясните), но библиотеки Qt прекрасно ужимаются UPX-ом.
http://rsdn.org/tools/member.aspx?id=SaZ
Re: Qt, Gtk, WxWidgets - что выбрать?
От: Mazay Россия  
Дата: 10.03.13 08:32
Оценка:
Здравствуйте, nanim, Вы писали:

N>возник выбор — для проекта (не на работе, а собственного) выбираю GUI фрэймворк. желательно (очень сильно предпочтительно) кроссплатформенный, поэтому MFC, WTL и что-то подобное сразу отваливается. интерфейс должен быть довольно-таки красивым, нужны модные контролы.


N>QT, в чем плюсы — очень популярный и жутко много инфомарции (книги, статьи, тп), можно быстро сделать интерфейс (по сравнению с MFC). скачал LastFm Scrobbler (сделан на QT) — красивый интерфейс, очень забавный, но этот маленький легкий клиентик весит аж !60 мб — это катастрофа. хотя, видимо, это не только из-за QT : ) а еще злые языки поговаривают, что иногда не слишком быстро QT приложения шмыгают — так ли это?


N>GTK, WxWidgets — документации значительно меньше, информации на форумах тоже само-собой, на счет таких же удобных редакторов и бла-бла тоже вроде бы как похуже.


Достоинство WxWidgets одно — нативные контролы, но набор виджетов небольшой, документация скудная. Вобщем не для красивого UI .

Qt — это определённо "препарат выбора" для кроссплатформенного GUI на С++. Так что про его достоинства писать нет смысла, а про недостатки Qt тут уже написали.

Но на мой взгляд, стоит внимательнее присмотреться к GTK. Из-за скудной документации возможности GTK мало известны, хотя на самом деле это весьма мощный и современный UI-фреймворк. Пройдёмся по некоторым пунктам, которые мне кажутся недостаточно известными:

1) В GTK есть CSS. То есть бесплатные скины/темы и ещё всякие фишки, которые всегда любили web-девелоперы:
http://www.youtube.com/watch?v=gTYUn72Wjyk
В комбинации с Clutter Actors очень мощная штука:
https://www.youtube.com/watch?v=jdFU1_wKv3o

2) Лучший набор биндинов для всяких языков. В том числе к Python и специализированному Vala (синтаксис от C#, компиляция в машинный код через C). ИМХО это крайне важная фича, ибо разработка UI это весьма особый вид разработки и выбор языка для UI не должен зависеть от языка, выбранного для разработки функционала программы (подобно SQL, JavaScript). В GTK биндигам уделяется особое внимание (см. GObject).

3) Система слот-сигнал не требует препроцессинга исходников, в отличие от Qt.

4) Pango — мощная, но элементарно используемая библиотека для отображения текста. Вроде бы элементарная вещь — показать строчку текста, но если нужно сделать красиво, то можно словить геморрой. Pango полностью закрывает вопрос.

5) GtkBuilder позволяет рисовать GUI по его описанию в формате XML. Я так понимаю, что связка GtkBuilder + CSS + ClutterActors даёт функционал, аналогичный QML.

6) Есть интеграция c Cairo — это для рисования "модных" контролов.

7) Есть Accessibility Toolkit. Правда на сколько он юзабельный —

Чисто идеологически, мне GTK нравится больше чем Qt — лучшая модульность и меньшая связность компонентов, лучше реализован принцип единственной ответсвенности и т.д. Но модульность приводит к тому, что и без того скудная документация размазана по разным проектам. В итоге народ просто не знает всего набора фич, и о GTK складывается впечатление как о допотопном фреймворке, в котором ничего нет, кроме базовых контролов и лэйаутов.
Главное гармония ...
Re: Qt, Gtk, WxWidgets - что выбрать?
От: Denys V. Украина http://ua.linkedin.com/in/dvalchuk
Дата: 10.03.13 08:36
Оценка:
Здравствуйте, nanim, Вы писали:

N>добрый день, друзья


N>возник выбор — для проекта (не на работе, а собственного) выбираю GUI фрэймворк. желательно (очень сильно предпочтительно) кроссплатформенный, поэтому MFC, WTL и что-то подобное сразу отваливается. интерфейс должен быть довольно-таки красивым, нужны модные контролы.


N>QT, в чем плюсы — очень популярный и жутко много инфомарции (книги, статьи, тп), можно быстро сделать интерфейс (по сравнению с MFC). скачал LastFm Scrobbler (сделан на QT) — красивый интерфейс, очень забавный, но этот маленький легкий клиентик весит аж !60 мб — это катастрофа. хотя, видимо, это не только из-за QT : ) а еще злые языки поговаривают, что иногда не слишком быстро QT приложения шмыгают — так ли это?


Qt — зато поддержка есть почти всего что нужно.
С уважением Denys Valchuk

IMHO чем больше мнений тем оптимальней выбор варианта... :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.