Spec-Zone.ru › Qt 5.6

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API