Sur cette page

QStylePlugin Class

La classe `QStylePlugin` fournit une base abstraite pour les plugins personnalisés de ` QStyle `. En savoir plus...

En-tête : #include <QStylePlugin>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : 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 créer une sous-classe de cette classe de base, de réimplémenter la fonction pure 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 du plug-in doit contenir des informations sur les noms des styles pris en charge par le plug-in, 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)

Crée un plugin de style à partir de l'parent fournie.

Notez que ce constructeur est appelé 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 explicitement le destructeur.

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

Crée et renvoie un objet ` QStyle ` correspondant au style spécifié key. Si un plugin ne parvient pas à créer un style, il doit renvoyer 0 à la place.

La clé « style » correspond généralement au nom de 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.