Spec-Zone.ru › Qt 5.11

Класс QStylePlugin

Класс QStylePlugin предоставляет абстрактный базовый класс для пользовательских плагинов QStyle. Подробнее...

Заголовок: #include <QStylePlugin>
qmake: QT += widgets
Наследует: QObject
  • Список всех членов, включая наследуемые

Открытые функции

QStylePlugin(QObject *parent = nullptr)
virtual ~QStylePlugin()
virtual QStyle * create(const QString &key) = 0
  • 34 открытых функции, унаследованные от QObject

Дополнительные наследуемые члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 1 открытая переменная, унаследованная от QObject
  • 10 статических открытых членов, унаследованных от QObject
  • 9 защищенных функций, унаследованных от QObject
  • 2 защищенных переменных, унаследованных от 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/archives/qt-5.11/qstyleplugin.html

Spec-Zone.ru

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