Какой кросс-платформенный графический интерфейс C ++ обладает хорошими возможностями скиннинга? - PullRequest
3 голосов
/ 18 января 2010

Что такое кроссплатформенный каркас C ++ GUI с хорошими возможностями скиннинга?

Так что я мог (и дать пользователям) возможность настраивать графический интерфейс.

Ответы [ 6 ]

11 голосов
/ 18 января 2010

Фреймворк Qt позволяет изменять внешний вид виджетов с помощью таблиц стилей (используя css). См .: http://qt -project.org / doc / qt-5.0 / qtwidgets / stylesheet.html .

5 голосов
/ 18 января 2010

РЕДАКТИРОВАТЬ: Поскольку вы ищете что-то вроде wxSkin , во-первых, почему бы не использовать его в первую очередь?

Тогда, если вы не хотите использовать wxSkin, взгляните на Juce. Целью Qt, безусловно, являются не тематические графические интерфейсы, хотя маски окон и таблицы стилей являются способом их реализации. Существует QSkingObject проект Qt-Apps.org , но в последний раз я проверил это я обнаружил, что качество кода было плохо (это, конечно, субъективное и аргументированный).


Вы можете взглянуть на Juce , который имеет двойную лицензию: GPL и коммерческую.

Qt (LGPL) имеет таблицы стилей для стилизации виджетов, но все же позволяет операционной системе рисовать декорации окон, если вы не поручили ей рисовать безрамные окна и самостоятельно рисовать декорации.

Однако дважды подумайте, прежде чем идти по маршруту скинового приложения. Типичный пример - Songbird (написанный на XUL), который использовал безрамные окна и рисовал свои заголовки и кнопки окон. После того, как многие пользователи пожаловались, они отпустили педали и переключились обратно к системным окнам.

3 голосов
/ 18 января 2010

Qt имеет удобную поддержку для этого с таблицами стилей Qt и др. В блоге Qt labs есть пример поста , который может дать вам представление.

2 голосов
/ 18 января 2010

Как говорят другие, таблицы стилей Qt работают хорошо.

У вас также есть возможность настроить чертеж в Qt, переопределив QStyle. Вы могли бы позволить пользователям использовать плагины (экспорт реализации QStyle), чтобы сделать их супер-настраиваемыми.

(Тогда я не знаю, являются ли ваши пользователи кодерами C ++ или нет ...)

1 голос
/ 18 января 2010

Я должен был бы проголосовать за XULRunner , потому что он чрезвычайно скинов. Однако это не чистый C ++: код приложения написан на JavaScript , в то время как расширения могут быть реализованы как компоненты C ++ XPCOM .

1 голос
/ 18 января 2010

Я использовал Juce (совместимый с Windows, Linux и Mac OS X) в прошлом, и у него есть класс LookAndFeel (должен любить имя), который позволяет вам сделай это.

...