Auf dieser Seite

QStylePlugin Class

Die Klasse „QStylePlugin“ dient als abstrakte Basis für benutzerdefinierte „ QStyle “-Plugins. Mehr...

Header: #include <QStylePlugin>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QObject

Öffentliche Funktionen

QStylePlugin(QObject *parent = nullptr)
virtual ~QStylePlugin()
virtual QStyle *create(const QString &key) = 0

Ausführliche Beschreibung

QStylePlugin ist eine einfache Plugin-Schnittstelle, die das Erstellen benutzerdefinierter Stile erleichtert, die mithilfe der Klasse „ QStyleFactory “ dynamisch in Anwendungen geladen werden können.

Das Schreiben eines Stil-Plugins erfolgt durch Unterklassenbildung dieser Basisklasse, die Neuimplementierung der rein virtuellen Funktion ` create()` und den Export der Klasse mithilfe des Makros ` 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 = nullptr);

    QStyle *create(const QString &key) override;
    QStringList keys() const;
};

Die JSON-Metadatendatei „ mystyleplugin.json “ für das Plugin muss Informationen zu den Namen der vom Plugin unterstützten Stile wie folgt enthalten:

{ "Keys": [ "Rocket", "Starbuster" ] }

Weitere Informationen finden Sie unter „So erstellen Sie Qt-Plugins “.

Siehe auch „ QStyleFactory “ und „ QStyle “.

Dokumentation zu Mitgliedsfunktionen

[explicit] QStylePlugin::QStylePlugin(QObject *parent = nullptr)

Erstellt ein Stil-Plugin mit dem angegebenen „ parent “.

Beachten Sie, dass dieser Konstruktor automatisch vom MOC-generierten Code aufgerufen wird, der das Plugin exportiert, sodass es nicht notwendig ist, ihn explizit aufzurufen.

[virtual noexcept] QStylePlugin::~QStylePlugin()

Löscht das Stil-Plugin.

Beachten Sie, dass Qt ein Plugin automatisch zerstört, wenn es nicht mehr verwendet wird; daher ist es nicht erforderlich, den Destruktor explizit aufzurufen.

[pure virtual] QStyle *QStylePlugin::create(const QString &key)

Erstellt ein „ QStyle “-Objekt für den angegebenen Stil „ key “ und gibt es zurück. Wenn ein Plugin keinen Stil erstellen kann, sollte es stattdessen 0 zurückgeben.

Der Schlüssel „style“ ist in der Regel der Klassenname des gewünschten Stils. Beachten Sie, dass bei den Schlüsseln die Groß-/Kleinschreibung keine Rolle spielt. Beispiel:

QStyle *MyStylePlugin::create(const QString &key)
{
    QString lcKey = key.toLower();
    if (lcKey == "rocket") {
        return new RocketStyle;
    } else if (lcKey == "starbuster") {
        return new StarBusterStyle;
    }
    return nullptr;
}

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.