Как создать плагин QT, который настраивает пользовательский интерфейс? - PullRequest
1 голос
/ 03 декабря 2010

Мы бы хотели, чтобы пользователи могли по желанию настраивать наши приложения QT.Поэтому, если они захотят создать свою собственную тему для наших приложений, все, что им нужно сделать, это загрузить свой собственный файл CSS.

Нужно ли нам создавать плагин, чтобы иметь возможность это делать?Если да, может ли кто-нибудь дать мне основные шаги / или начать с того, как это сделать?Если нет, есть ли в QT функции, которые мне нужно знать, чтобы можно было сделать это без создания плагина?

1 Ответ

5 голосов
/ 03 декабря 2010

У меня есть мессенджер Jabber, который основан на плагинах и написан на Qt. Он включает в себя плагин style, который делает именно то, что вы описываете. Источник для этого плагина здесь:

https://github.com/sje397/saje/tree/master/plugins/styles/

(Примечание: это плагин для моего приложения, а не плагин в стиле Qt)

В общем, все, что вам нужно сделать, это загрузить таблицу стилей и вызвать QApplication::setStyleSheet:

QFile f("filename");
if(f.open(QIODevice::ReadOnly)) {
    qApp->setStyleSheet(f.readAll());
}

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

...