Какая кросс-платформенная библиотека GUI имеет самое собственное, сопереживают каждой платформе?

Я заметил, что GTK имеет универсальное чувство через все платформы, которое является большим для любителей Linux, но не настолько большим для людей, которые предпочитают их собственное чувство GUI.

Я правильно еще не использовал QT, который является, почему я не могу сказать, что это - лучший выбор обеспечить, самые собственные сопереживают каждой платформе - таким образом, кто-то мог подтвердить, является ли QT тем, что я после?

7
задан user207421 23 May 2014 в 12:44
поделиться

7 ответов

Я думаю, что Qt - отличный выбор, чтобы иметь родной вид.

В Windows XP виджеты будут отображаться в стиле Luna (стиль по умолчанию в Windows XP). В Vista/7 они будут отображаться с использованием темы Aero. В MacOS они будут отображаться в теме Aqua.

В Linux все по-другому. Qt будет использовать свою собственную тему (стиль Plastique) или использовать вашу тему KDE (например, тему Oxygen). Если вы предпочитаете GNOME или XFCE (GTK), Qt также может использовать вашу тему GTK.

alt text

Приложение Qt может быть прекрасно интегрировано в рабочие столы Windows XP/Vista/7, MacOS, KDE, GNOME и XFCE.

7
ответ дан 6 December 2019 в 09:59
поделиться

Да, думаю, это так. Qt пытается следовать собственному внешнему виду. Не только внешний вид виджетов, но и такие вещи, как порядок кнопок и т. Д. Конечно, создание приложения, которое действительно следует всем нативным соглашениям пользовательского интерфейса, будет трудным (например, дизайн пользовательского интерфейса Mac сильно отличается от Windows), но Qt Вам в этом очень поможет.

1
ответ дан 6 December 2019 в 09:59
поделиться

У меня нет опыта работы с Qt, но SWT имеет собственный внешний вид для основных платформ благодаря тому, что он поставляет собственные библиотеки для выполнения работа. Мы использовали его для создания подключаемых модулей Eclipse для наших различных проектов.

1
ответ дан 6 December 2019 в 09:59
поделиться

Wxwidgets использует базовую платформу для рисования виджетов (GTK под Linux, MFC под Windows...), поэтому он не только выглядит родным, но и является им!

Edit - Для Mac, wxWidgets использует Carbon, и в настоящее время переходит на Cocoa для 3.0.

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

Хотя у wxWidgets есть свои причуды (несколько слабая интеграция с STL, события, похожие на MFC, иногда трудно понять опции ящиков, ограниченный wxGrid...), над ними работают, и система становится все лучше и лучше (новые док-виджеты wxAUI просто потрясающие).

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

Мне кажется, что wxWidgets и QT вполне сопоставимы, и переход на тот или иной вариант зависит в основном от личных предпочтений.

6
ответ дан 6 December 2019 в 09:59
поделиться

WxWidgets и Qt оба выглядят правильно в OS X, но не работают правильно, если вы не сделаете немного дополнительной работы, потому что для правильной интеграции с OS в OS X также требуется, чтобы вы получили основные перехватчики AppleScript; OS X использует их для многих общих действий графического интерфейса системы, поэтому вам нужно, чтобы они работали (например) перетаскиванием на значок док-станции.

1
ответ дан 6 December 2019 в 09:59
поделиться

Из Qt и WxWindows с чистого листа я бы выбрал WxWindows - просто потому, что он использует родные элементы управления, что обеспечивает лучшую поддержку на будущих платформах.

Я пришел к этому решению следующим ненаучным путем:

  • Просмотрел список опубликованных приложений и выбрал те, которые больше всего походили на родные
  • VLC Media player против FileZilla - иногда VLC кажется мне причудливым, тогда как я даже не подозревал, что FileZilla написана на WxWindows.
  • 5 из предполагаемых 32 лучших приложений используют WxWindows.

Для меня вышеперечисленного вполне достаточно, чтобы выбрать WxWindows в качестве первого выбора и посмотреть, к чему я приду через некоторое время.

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

В качестве сноски много лет назад я разрабатывал приложение, используя, к счастью, давно умерший и ужасный ZincApplicationFramework - который накладывал свои собственные элементы управления сверху, подобно Qt. Это было ужасно, и я целую вечность возился с внутренностями, чтобы заставить его работать под Windows. Это делает меня предвзятым или, по крайней мере, скептиком по отношению ко всему, что использует тот же подход, потому что вскоре после завершения этого проекта я использовал Allegris C++/Views для создания другого приложения, и это было намного лучше, потому что это был очень тонкий слой поверх родных элементов управления - что означало, что было легко делать вещи и намного более эффективно.

Так что, возможно, я отдаю предпочтение тонким слоям и родным элементам управления....

2
ответ дан 6 December 2019 в 09:59
поделиться

Лично я предпочитаю Qt над WxWidgets от faaarrrr. API wxWidgets просто ощущается как еще один MFC ... слишком неуклюжий, на мой взгляд. Qt, с другой стороны, намного ближе к тому, на что должно быть похоже написание приложений на современном C ++, не говоря уже о его превосходном QtDesigner (хорошо, wxWidgets имеет wxFormBuilder, но в прошлый раз, когда я проверил, он был далеко не так хорош, как QtDesigner ).

1
ответ дан 6 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: