<QtPlugin> - Defining Plugins
Le fichier d'en-tête <QtPlugin> définit les macros permettant de définir les plugins. Plus...
| Header: | #include <QtPlugin> |
fait partie des classes de plugins.
Macros
| Q_DECLARE_INTERFACE(ClassName, Identifier) | |
| Q_IMPORT_PLUGIN(PluginName) | |
| Q_PLUGIN_METADATA(...) |
Voir aussi Comment créer des plugins Qt.
Documentation sur les macros
Q_DECLARE_INTERFACE(ClassName, Identifier)
Cette macro associe la donnée Identifier (une chaîne littérale) à la classe d'interface appelée ClassName. Le Identifier doit être unique.
Cette macro est normalement utilisée juste après la définition de la classe ClassName, dans un fichier d'en-tête.
Si vous souhaitez utiliser Q_DECLARE_INTERFACE avec des classes d'interface déclarées dans un espace de noms, vous devez vous assurer que Q_DECLARE_INTERFACE ne se trouve pas à l'intérieur d'un espace de noms. C'est le cas par exemple :
namespace Foo { struct MyInterface { /*...*/ }; } Q_DECLARE_INTERFACE(Foo::MyInterface, "org.examples.MyInterface")
Voir aussi Q_INTERFACES() et Comment créer des plugins Qt.
Q_IMPORT_PLUGIN(PluginName)
Cette macro importe le plugin nommé PluginName, qui correspond au nom de la classe qui déclare les métadonnées du plugin avec Q_PLUGIN_METADATA().
L'insertion de cette macro dans le code source de votre application à la portée du fichier de l'espace de noms racine vous permettra d'utiliser un plugin statique.
Exemple :
Q_IMPORT_PLUGIN(qjpeg)
Les plugins statiques doivent également être inclus par l'éditeur de liens lorsque votre application est construite. Voir Plugins statiques pour plus d'informations à ce sujet.
Voir aussi Plugins statiques et Comment créer des plugins Qt.
Q_PLUGIN_METADATA(...)
Cette macro est utilisée pour déclarer des métadonnées qui font partie d'un plugin qui instancie cet objet.
La macro doit déclarer l'IID de l'interface implémentée par l'objet et faire référence à un fichier contenant les métadonnées du plugin.
Il ne doit y avoir qu'une seule occurrence de cette macro dans le code source d'un plugin Qt.
Exemple :
class MyInstance : public QObject { Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDummyPlugin" FILE "mymetadata.json") };
Notez que la classe sur laquelle cette macro apparaît doit être constructible par défaut.
FILE est optionnel et pointe vers un fichier json.
Le fichier json doit se trouver dans l'un des répertoires d'inclusion spécifiés par le système de construction. moc se termine par une erreur s'il ne trouve pas le fichier spécifié.
Voir aussi Q_DECLARE_INTERFACE() et Comment créer des plugins Qt.
© 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.