Класс QStylePlugin
Класс QStylePlugin предоставляет абстрактный базовый класс для пользовательских плагинов QStyle. Подробнее...
| Заголовок: | #include <QStylePlugin> |
| qmake: | QT += widgets |
| Наследует: | QObject |
Открытые функции
| QStylePlugin(QObject *parent = Q_NULLPTR) | |
| ~QStylePlugin() | |
| virtual QStyle * | create(const QString &key) = 0 |
- 31 открытая функция унаследована от QObject
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 1 открытый слот унаследован от QObject
- 2 сигнала унаследованы от QObject
- 11 статические открытые члены унаследованы от 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);
}; Файл метаданных json mystyleplugin.json для плагина должен содержать информацию об именах стилей, которые поддерживаются плагином, следующим образом:
{ "Keys": [ "Rocket", "Starbuster" ] } Подробнее см. Как создать плагины Qt.
См. также QStyleFactory и QStyle.
Документация по функциям-членам
QStylePlugin::QStylePlugin(QObject *parent = Q_NULLPTR)
Создаёт плагин стиля с заданным parent.
Обратите внимание, что этот конструктор вызывается автоматически сгенерированным moc-кодом, экспортирующим плагин, поэтому нет необходимости вызывать его явно.
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/archives/qt-5.6/qstyleplugin.html