Войти
ПрограммированиеФорумОбщее

Qt, WxWidgets и прочие... что выбрать?

Страницы: 1 2 3 4 Следующая »
#0
23:29, 22 июля 2009

Задача:

Требуется сляпать GUI для системы визуализации.
Требуются следующие экзотические элементы:
1. Spline-editor - настройка кривых по точкам
2. Graph editor - возможность добавлять и соединять узлы (аналог hypergraph из maya)
3. Object inspector или Property Editor
Из стандартных - всякие кнопки, радиобаттоны, tree-view и прочее.

Ядро системы - готово, требуется лишь научиться дергать те или иные методы по нажатию кнопочек, да заполнять поля всяких эдит боксов. Возможно - через Lua или собственный командный интерпретатор.

Меню должно быть легко расширяемым, т.е. по командам тех же Lua или интерпретатора должны создаваться новые кнопки и прочее.

В принципе, пользовательский интерфейс должен быть функционально похож на интерфейс Maya.

Посмотрел следующих товарищей:
1. Qt - все круто, но, имхо, мега тяжеловесно, плюс напрягает мета компилятор.
2. wxWidgets - тоже тяжеловесно - также все круто.
3. CEGUI - выглядет очень сыро.
4. SmartWin++ напрягает последний апдейт двухлетней давности + невозможность скачать c Source Foge.
5. WinForms - проблема лишь в том, чтобы сцепить native и managed код.

Собственно, что выбрать?
Интересует самое простое и быстрое решение.


#1
23:35, 22 июля 2009

ты ещё забыл GTK+

#2
23:40, 22 июля 2009

Demiurg-HG
>1. Qt - все круто, но, имхо, мега тяжеловесно

Минимальный рантайм в районе 8мб, - не намного больше чем рантайм от последних Visual Studio/

> плюс напрягает мета компилятор.

Чем же он напрягает? Необходимостью поставить в объявление класса макрос Q_OBJECT?

Demiurg-HG
> wxWidgets - тоже тяжеловесно - также все круто.

Калька с MFC, очень непростой процесс компиляции из исходников, завершенных редакторов GUI фактически нет, справочная система уродская - информацию приходится выковыривать.

>3. CEGUI - выглядет очень сыро.
>4. SmartWin++ напрягает последний апдейт двухлетней давности + невозможность скачать c Source Foge.

Первый для внутриигрового GUI (кнопки, комбобоксы, итд... про возможности кастомизации не знаю). Про второй вообще не слышал.

>5. WinForms - проблема лишь в том, чтобы сцепить native и managed код.

Это кстати реальная проблема, - C++ CLI документирован фрагментарно, а книжек и рабочих примеров кот наплакал.

>Собственно, что выбрать?

Тебе обязательно кросс-платформенное решение нужно?  Может быть просто обойтись MFC? Ну или Ultimate++ посмотри, - но разбираться с его глюками тебе придется самостоятельно. А у MFC и Qt4 хотя бы пользовательская база более чем внушительная, всегда можно найти помощь.

#3
23:42, 22 июля 2009

DDMZ
> забыл GTK+

Это для адептов pure Win32API был бы вариант. Разбиратся же с заморочками Gdk+, через который GTK+ рисует окошки - та еще черная магия.

#4
0:07, 23 июля 2009

Demiurg-HG

По объему решаемых задач Qt намного круче всех остальных тулкитов. Очень стремительно развивается + организация все-таки коммерческая.

> т.е. по командам тех же Lua или интерпретатора должны создаваться новые кнопки и прочее.
QtScript

#5
0:11, 23 июля 2009

По поводу метакомпилятора могу сказать, что даже до QtCreator не так он сильно напрягал. А с последним я даже не знаю про существование moc_* файлов - они там сами как-то живут в заданном каталоге.

#6
2:04, 23 июля 2009

DDMZ
> ты ещё забыл GTK+
Он злой))

oistalker
> очень непростой процесс компиляции из исходников
Что там непростого? Открыть проект и нажать F7?
Туториалов конечно не густо - но они есть почти по всем важным вопросам.
Редактор GUI интересует в последнюю очередь, т.к. все по большей части будет генерироваться на основе контента.

>>Тебе обязательно кросс-платформенное решение нужно? Может быть просто обойтись MFC?
MFC ну совсем уродский

Ghost2
> По объему решаемых задач Qt намного круче всех остальных тулкитов.
Да это сомнения не вызывает.
Но круг моих скромных задач я в нулевом посте описал.
Все остальное (скриптовые системы, файловые, XML-парсеры) - уже есть, осталось лишь "дергать за ниточки".
Поэтому мне и кажется что и Qt, и WxWidgets - все равно что из пушки по воробьям.

#7
2:08, 23 июля 2009

После 2 суток мозго****** с wx написал все на qt за 2 часа.

> забыл GTK+
В винде проблема. Кучу файлов тащить.

#8
9:55, 23 июля 2009

Qt как-то видел в действии, не понравилась чрезвычайная многословность, размазывание логики приложения по коду. Собственно, применение Flapjax для того же приложения существенно сократило, упростило код и убрало целую кучу ненужных деталей.

Можно еще на Ultimate++ попробовать, там уже и не Си++ почти. :)

#9
10:05, 23 июля 2009

Demiurg-HG
> Что там непростого? Открыть проект и нажать F7?

Имеется ввиду сборка самого wxWidgets из исходников, - у меня получалось через раз.

#10
10:41, 23 июля 2009

Имхо кютэ. Qt уже опубликовали под lgpl. По качеству ее поддержки, сложно ее сравнивать с другими открытыми фреймфорками. Рекомендую. Только не ведись на разработку в ихнем родном, новом, гламурном IDE.

#11
10:53, 23 июля 2009

лично мне понравилась wxWidgets.

>> сборка самого wxWidgets из исходников, - у меня получалось через раз
ну я сам не собирал...

>> Калька с MFC, очень непростой процесс компиляции из исходников, завершенных редакторов GUI фактически нет, справочная система уродская - информацию приходится выковыривать.
а мне справка понравилась. и описание, и даже пример использования есть. но я других справок правда не видел, так что сравнивать не могу

#12
11:06, 23 июля 2009

ALPINE
> мне справка понравилась. и описание, и даже пример использования есть. но я
> других справок правда не видел, так что сравнивать не могу
Самая лучшая справка, которую я когда либо видел - это MSDN. На втором наверное Qt Assistant - но с очень большим отставанием... Приближающихся к ним - очень мало.

#13
11:14, 23 июля 2009

oistalker
> Имеется ввиду сборка самого wxWidgets из исходников, - у меня получалось через
> раз.
Что то ты делаешь не так :)
Хотя, чесс говоря, я так и не смог собрать сэмплы для OpenGL.

chiaroscuro
> Можно еще на Ultimate++ попробовать, там уже и не Си++ почти. :)
Он как-то не впечатлил.

Собственно, вопрос уже, видимо, сводится к Wx vs Qt.

Кстати, что насчет Managed и Unmanged C++? Есть какая-нибудь возможность их соединить?
Сработает ли такой вариант: запускаем графическую оболочку (.NET), она запускает уже мое приложение, подсовывает ей хандлы окон. Общение между оболочкой и системой - посредством пайпов или еще чего-нибудь в этом роде.

#14
11:34, 23 июля 2009

Соединял managed и native тупо в лоб - разные дллки с экспортом всего необходимого.
И никаких проблем.

ЗЫ. по теме: сам юзаю wxWidgets, пока никаких проблем не испытывал, создавал в том числе и собственные компоненты. Справкой вообще не пользовался :)

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.