IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

<QtPlugin> - Defining Plugins

The <QtPlugin> header file defines macros for defining plugins.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

<QtPlugin> - Defining Plugins

Detailed Description

 

See Also

Macro Documentation

 

Q_DECLARE_INTERFACE(ClassName, Identifier)

This macro associates the given Identifier (a string literal) to the interface class called ClassName. The Identifier must be unique. For example:

 
Sélectionnez
#define BrushInterface_iid "org.qt-project.Qt.Examples.PlugAndPaint.BrushInterface/1.0"

Q_DECLARE_INTERFACE(BrushInterface, BrushInterface_iid)

This macro is normally used right after the class definition for ClassName, in a header file. See the Plug & Paint example for details.

If you want to use Q_DECLARE_INTERFACE with interface classes declared in a namespace then you have to make sure the Q_DECLARE_INTERFACE is not inside a namespace though. For example:

 
Sélectionnez
namespace Foo
{
    struct MyInterface { ... };
}

Q_DECLARE_INTERFACE(Foo::MyInterface, "org.examples.MyInterface")
See Also

Q_IMPORT_PLUGIN(PluginName)

This macro imports the plugin named PluginName, which corresponds with the name of the class that declares metadata for the plugin with Q_PLUGIN_METADATA().

Inserting this macro into your application's source code will allow you to make use of a static plugin.

Example:

 
Sélectionnez
Q_IMPORT_PLUGIN(qjpeg)

Static plugins must also be included by the linker when your application is built. See Static Plugins for more information on this.

See Also

[since 5.0] Q_PLUGIN_METADATA(...)

This macro is being used to declare meta data that is part of a plugin that instantiates this object.

The macro needs to declare the IID of the interface implemented through the object, and reference a file containing the meta data for the plugin.

There should be exactly one occurrence of this macro in the source code for a Qt plugin.

Example:

 
Sélectionnez
class MyInstance : public QObject
{
    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDummyPlugin" FILE "mymetadata.json")
};

See the Plug & Paint example for details.

Note that the class this macro appears on must be default-constructible.

FILE is optional and points to a json file.

The json file must reside in one of the include directories specified by the build-system. moc exits with an error when it could not find the specified file.

This macro was introduced in Qt 5.0.

See Also

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+