Spec-Zone.ru › Qt 5.12

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

Spec-Zone.ru

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