Я бы хотел, чтобы пользователи могли настраивать внешний вид наших приложений по умолчанию, просто загрузив их файлы OWN Qt Style-sheet. Как это сделать? Может кто-нибудь дать мне начало?
Как Qt может применять стиль из внешнего файла таблицы стилей Qt?
Ответ 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
Вы можете установить/получить эту конфигурацию из любого количества мест, диалог свойств в приложении, вероятно, является наиболее естественным подходом.