Как Qt может применить стиль из внешнего файла таблицы стилей Qt? - PullRequest
28 голосов
/ 15 декабря 2010

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

Ответы [ 2 ]

35 голосов
/ 16 декабря 2010

Допустим, пользователь имеет свою таблицу стилей с именем stylesheet.qss и находится в папке приложения.

Вы можете загрузить таблицу стилей при запуске приложения, используя аргумент -stylesheet:

myapp->stylesheet = stylesheet.qss;

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

Что вы также можете сделать, это добавить в приложение диалоговое окно настроек, где пользователь может выбрать путь к таблице стилей.

Затем вы можете открыть этот файл, загрузить содержимое и установить его для своего приложения с помощью QApplication :: setStyleSheet () :

 QFile File("stylesheet.qss");
 File.open(QFile::ReadOnly);
 QString StyleSheet = QLatin1String(File.readAll());

 qApp->setStyleSheet(StyleSheet);

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

3 голосов
/ 15 декабря 2010

Вы просто устанавливаете таблицу стилей для всего приложения на основе конфигурации, предоставленной заказчиком.

http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop

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

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