LINUX.ORG.RU

[c++] А есть ли какая альтернатива Qt?

 


0

3

Судя по последним течениям в рассылке, из Qt упорно делают JS-фреймворк. Поэтому назревает вопрос о поиске альтернатив для будущих разработок на языке c++. Пока только нашёл wxWidgets, gtkmm/glibmm. По потреблению памяти они явно превосходят текущий Qt, да и api у них какой-то страшный, ИМХО. Посмотрел ещё на boost. В принципе, сойдёт, но библиотек для гуя там нет. Есть ещё отдельно библиотеки виджетов fltk, fox. Но что-то они уж совсем малофункциональные.

Интересно, есть ли ещё что-нибудь в этом плане, чтобы можно было полноценно заменить Qt?

Ответ на: комментарий от Amp

Кстати подробнее можешь объяснить различия в HIG-е и поведении у стандартных виджетов wx и gtk, на примере тех же TreeView?

Достаточно внимательно посмотреть на любую программу на wx. У меня нашлись FileZilla и wxMaxima (+ установил amule для разбора полётов).

В FileZilla: неправильный порядок кнопок в диалогах. Ужасно мелкие отступы. Тулбары выглядят совершенно не так: они другого размера и один, зачем-то, перетаскивется, хотя поместить его можно только в одно место — вверху.

В wxMaxima: нет border'ов у некоторых виджетов и они выгрядят как г..., combobox'ы не такие (нужны gtkcombobox, а не gtkcomboboxentry).

В amule: те же претензии к кнопкам и отступам в диалогах; весь интерфейс выглядит «грязно» — много бордюрчиков, линий, панелек, группировок; таблицы визуально выглядят не так, при наборе не появляется панелька с введённой строкой, скроллбар лежит «внутри», что тоже добавляет «грязи» — несколько бордюров рядом.

Общее впечатление от программ на wx: они пишутся в первую очередь для windows и выглядят как windows-программы.

k_andy ★★★
()
Ответ на: комментарий от Gorthauer

> И правильно делают, на JS гуй удобнее описывать

Не прошло и десятка лет. Вообще правильно делают, да.

tensai_cirno ★★★★★
()
Ответ на: комментарий от Gorthauer

Или там вообще весь гуй будет работать под js-движком?

tensai_cirno ★★★★★
()
Ответ на: комментарий от k_andy

> Общее впечатление от программ на wx: они пишутся в первую очередь для windows и выглядят как windows-программы.

Да, wx в основном ориентирован на windows-платформу. Касательно отступов и границ - это же вещи, которые в первую очередь зависят от разработчика, а не от тулкита. Что он там прописал в wxSizer и в стили, то и будет. Конечно ему не хочется читать HIG и писать дополнительный код для изменения значений отступов под билды на разные системы :)

Можно в пример еще привести Audacity - там в главном окне вообще кошмар что творится.

Amp ★★★
()

Если фигня получится, то форкнут кьют и будет он снова расти благодаря сообществу. Не вижу причин валить на что-то другое.

gear ★★★
()
Ответ на: комментарий от gear

> будет он снова расти благодаря сообществу

Оптимистичненько.

rival ★★
()
Ответ на: комментарий от Amp

Да, wx в основном ориентирован на windows-платформу.

Вот я и говорю: не родной он в гноме, хоть и на gtk+.

Касательно отступов и границ - это же вещи, которые в первую очередь зависят от разработчика, а не от тулкита.

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

Что он там прописал в wxSizer и в стили, то и будет. Конечно ему не хочется читать HIG и писать дополнительный код для изменения значений отступов под билды на разные системы :)

Вот-вот. Хотя, например gtk+ позволяет менять порядок кнопок в зависимости от системы. А wx эту способность потерял (тут не уверен).

Можно в пример еще привести Audacity - там в главном окне вообще кошмар что творится.

Ну как я мог забыть этого монстра?! Эти самопальные кнопочки.

Wx и Qt не хватает своего HIG.

k_andy ★★★
()
Ответ на: комментарий от shty

Почему сразу зонд? У тебя бугурт? Просто линукс это такая убогая кривая поделка, что на нем даже гуя нормально не напишешь.

anonymous
()
Ответ на: комментарий от k_andy

> А wx эту способность потерял (тут не уверен).

не потерял, просто у авторов руки из одно места и они не знают про wxStdDialogButtonSizer

aho
()
Ответ на: комментарий от anonymous

Почему сразу зонд?

потому что симптомы все налицо

У тебя бугурт?

не у меня, но - да

росто линукс это такая убогая кривая поделка, что на нем даже гуя нормально не напишешь.

это называется - собственное неумение выдавать за объективную реальность

shty ★★★★★
()
Ответ на: комментарий от Amp

Так ведь ещё GTK+ есть (биндинги для C++ - gtkmm). Если рассматривать его вместе с GLib, то там тоже очень многие вещи реализованы. От GUI до файловых потоков, списков и нитей. Для очень многих компонентов Qt можно найти альтернативу в GTK. А то как там создаётся интерфейс мне весьма понравилось (вместо задания координат запихивать элементы в специальные контейнеры GtkVBox, GtkHBox, GtkTable и т. п.).

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

> А то как там создаётся интерфейс мне весьма понравилось (вместо задания координат запихивать элементы в специальные контейнеры GtkVBox, GtkHBox, GtkTable и т. п.).

Это и в Qt есть.

rival ★★
()

js они для прдвинутого гуя пилят. внутри там как были плюсы так и остались

VladimirMalyk ★★★★★
()
Ответ на: комментарий от KivApple

> Так ведь ещё GTK+ есть (биндинги для C++ - gtkmm)

Я не зря заострил внимание на кроссплатформенности. У gtk+ есть некоторые проблемы с другими ОС. Собирается он под них и поддерживается постольку поскольку.

Amp ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.