Sur cette page

QStylePlugin Class

La classe QStylePlugin fournit une base abstraite pour les plugins personnalisés QStyle. Plus d'informations...

En-tête : #include <QStylePlugin>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : QObject

Fonctions publiques

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

Description détaillée

QStylePlugin est une interface de plugin simple qui facilite la création de styles personnalisés pouvant être chargés dynamiquement dans des applications à l'aide de la classe QStyleFactory.

Pour écrire un plugin de style, il suffit de sous-classer cette classe de base, de réimplémenter la fonction purement virtuelle create() et d'exporter la classe à l'aide de la macro 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;
};

Le fichier de métadonnées json mystyleplugin.json pour le plugin doit contenir des informations sur les noms des styles pris en charge par le plugin, comme suit :

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

Voir Comment créer des plugins Qt pour plus de détails.

Voir également QStyleFactory et QStyle.

Documentation des fonctions membres

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

Construit un plugin de style avec l'adresse parent.

Notez que ce constructeur est invoqué automatiquement par le code généré par moc qui exporte le plugin, il n'est donc pas nécessaire de l'appeler explicitement.

[virtual noexcept] QStylePlugin::~QStylePlugin()

Détruit le plugin de style.

Notez que Qt détruit automatiquement un plugin lorsqu'il n'est plus utilisé, il n'est donc pas nécessaire d'appeler le destructeur explicitement.

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

Crée et renvoie un objet QStyle pour le style donné key. Si un plugin ne peut pas créer de style, il doit renvoyer 0 à la place.

La clé du style est généralement le nom de la classe du style requis. Notez que les clés ne sont pas sensibles à la casse. Par exemple :

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.