Подтвердить что ты не робот

Как Qt может применять стиль из внешнего файла таблицы стилей Qt?

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

4b9b3361

Ответ 1

Скажите, что у пользователя есть таблица стилей с именем 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 предоставляет пример онлайн, который может быть полезен.

Ответ 2

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

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

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