Приложения Qt выглядят и чувствуют себя родными под Windows? - PullRequest
21 голосов
/ 04 сентября 2011

Я собираюсь перенести одно из моих приложений Mac на Windows. Mac-приложение использует собственные интерфейсы Apple Cocoa / Appkit для пользовательского интерфейса. Пользовательский интерфейс - это код Obj-C, а основная функциональность приложения - переносимый код C ++.

Теперь я ищу способ портировать приложение на Windows и сделать его похожим на пользователей Windows. Я выбираю Microsoft MFC и инфраструктуру Qt. Хотя я уверен, что приложения MFC имеют естественный внешний вид, то, что я помню из кодирования MFC самой платформы, ужасно. Я взглянул на Qt, и он мне понравился с точки зрения разработчика.

Но так как я не пользователь Windows, я понятия не имею, имеют ли приложения Qt собственный внешний вид Windows.

Таким образом, мой вопрос: могу ли я сделать (без много работы) приложение Qt, которое будет вести себя и выглядеть так, как будто оно было написано с помощью собственных платформ Windows?

Ответы [ 5 ]

24 голосов
/ 04 сентября 2011

Вы можете легко изменить стиль приложения Qt. В Windows и Mac стиль по умолчанию фактически использует собственные функции для рисования окон, элементов управления и т. П.

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

Я настоятельно советую вам не использовать MFC, вы об этом пожалеете (особенно если вы никогда не работали с родным Win32 API). Это полная противоположность Qt в отношении гибкости и простоты использования.

12 голосов
/ 04 сентября 2011

Как вы можете прочитать на doc.qt.io :

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

Взгляните на Галерея виджетов Qt :

Поддержка Qt стилей и тем виджетов позволяет вашему приложению соответствовать встроенной среде рабочего стола.

Возможно, вас заинтересует презентация под названием Как создать ваше приложение QtLook Native :

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

3 голосов
/ 28 марта 2015

Они выглядят немного, и они не чувствуют себя.

Особенно, если вы разрабатываете приложение с учетом окон (как вы делаете с какао).Я еще не видел лент (есть коммерческий сторонний клон) и синий / черный стиль MFC или представление списка в виде сгруппированных значков.

К сожалению, WxWidgets также очень уродлив для программирования.Лучше, чем MFC точно.Осталось только два варианта, если вы хотите реально выглядящее приложение, MFC (если вам нужно быстрое и маленькое) или .NET (если вас не волнует скорость).

У предыдущей компании был слой 50000 LOC поверх MFC, который был необходим, чтобы иметь возможность программировать эту структуру 1992 года немного более комфортно).К сожалению, я не знаю ничего доступного на рынке, которое бы делало то же самое.

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

2 голосов
/ 01 сентября 2013

Нет, они НЕ.Это близко, но элементы управления выглядят не родными.Люди имеют в виду, что он использует Win32 API для рендеринга элементов управления, аналогично тому, как Windows отображает собственные элементы управления, поэтому производительность должна быть сопоставимой.

Только конкретные среды Windows, такие как .NET Windows Forms, используют фактические собственные элементы управления Win32для общих элементов пользовательского интерфейса.

2 голосов
/ 04 сентября 2011

Вы должны взглянуть на ссылку на стиль . Да, это возможно, и нет, это не требует большой работы (вообще).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...