Класс QStylePlugin
Класс QStylePlugin предоставляет абстрактную базу для пользовательских плагинов QStyle. Подробнее...
| Заголовок: | #include <QStylePlugin> |
| qmake: | QT += widgets |
| Наследуется от: | QObject |
Открытые функции
| QStylePlugin(QObject *parent = nullptr) | |
| virtual | ~QStylePlugin() |
| virtual QStyle * | create(const QString &key) = 0 |
- 31 открытая функция, унаследованная от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 9 статических открытых членов, унаследованных от QObject
Дополнительные наследуемые члены
- 1 свойство, унаследованное от QObject
- 1 открытый слот, унаследованный от QObject
- 2 сигнала, унаследованные от QObject
- 9 защищенных функций, унаследованных от QObject
Подробное описание
Класс QStylePlugin предоставляет абстрактную базу для пользовательских плагинов QStyle.
QStylePlugin — это простой интерфейс плагина, который упрощает создание пользовательских стилей, которые можно динамически загружать в приложения с использованием класса QStyleFactory.
Для создания плагина стиля необходимо унаследовать от этого базового класса, переопределить чистую виртуальную функцию create() и экспортировать класс с помощью макроса Q_PLUGIN_METADATA().
class MyStylePlugin : public QStylePlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "mystyleplugin.json")
public:
MyStylePlugin(QObject *parent = 0);
QStyle *create(const QString &key) override;
}; Файл метаданных json mystyleplugin.json для плагина должен содержать информацию об именах стилей, поддерживаемых плагином, следующим образом:
{ "Keys": [ "Rocket", "Starbuster" ] } См. Как создать плагины Qt для получения подробной информации.
См. также QStyleFactory и QStyle.
Документация по функциям-членам
QStylePlugin::QStylePlugin(QObject *parent = nullptr)
Создаёт плагин стиля с заданным parent.
Обратите внимание, что этот конструктор вызывается автоматически сгенерированным кодом moc, который экспортирует плагин, поэтому нет необходимости вызывать его явно.
[virtual] QStylePlugin::~QStylePlugin()
Уничтожает плагин стиля.
Обратите внимание, что Qt автоматически уничтожает плагин, когда он больше не используется, поэтому нет необходимости вызывать деструктор явно.
[pure virtual] QStyle *QStylePlugin::create(const QString &key)
Создаёт и возвращает объект QStyle для заданного ключа стиля key. Если плагин не может создать стиль, он должен вернуть 0 вместо этого.
Ключ стиля обычно является именем класса требуемого стиля. Обратите внимание, что ключи нечувствительны к регистру. Например:
QStyle *MyStylePlugin::create(const QString &key)
{
QString lcKey = key.toLower();
if (lcKey == "rocket") {
return new RocketStyle;
} else if (lcKey == "starbuster") {
return new StarBusterStyle;
}
return 0;
}
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qstyleplugin.html