<QtPlugin>

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

  1. #include <<QtPlugin>>

Detailed Description

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

See also How to Create Qt Plugins.

Macros

Toggle detailsQ_DECLARE_INTERFACEQ_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:

  1. Q_DECLARE_INTERFACE(BrushInterface,
  2.                     "com.trolltech.PlugAndPaint.BrushInterface/1.0")

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:

  1. namespace Foo
  2.  {
  3.     struct MyInterface  { ... };
  4. }
  5.  
  6. Q_DECLARE_INTERFACE(Foo::MyInterface, "org.examples.MyInterface")

See also Q_INTERFACES(), Q_EXPORT_PLUGIN2(), and How to Create Qt Plugins.

Toggle detailsQ_EXPORT_PLUGIN2Q_EXPORT_PLUGIN2 ( PluginName , ClassName )

This macro exports the plugin class ClassName for the plugin specified by PluginName. The value of PluginName should correspond to the TARGET specified in the plugin's project file.

There should be exactly one occurrence of this macro in the source code for a Qt plugin, and it should be used where the implementation is written rather than in a header file.

Example:

  1. Q_EXPORT_PLUGIN2(pnp_extrafilters, ExtraFiltersPlugin)

See the Plug & Paint example for details.

See also Q_DECLARE_INTERFACE() and How to Create Qt Plugins.

Toggle detailsQ_IMPORT_PLUGINQ_IMPORT_PLUGIN ( PluginName )

This macro imports the plugin named PluginName, corresponding to the TARGET specified in the plugin's project file.

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

Example:

  1. Q_IMPORT_PLUGIN(qjpeg)

Static plugins must also be included by the linker when your application is built. For Qt's predefined plugins, you can use the QTPLUGIN to add the required plugins to your build. For example:

  1. TEMPLATE      = app
  2. QTPLUGIN     += qjpeg qgif qmng    # image formats

See also Static Plugins, How to Create Qt Plugins, and Using qmake.

Toggle detailsQ_EXPORT_PLUGINQ_EXPORT_PLUGIN ( ClassName )Obsolete function

Use Q_EXPORT_PLUGIN2() instead. This macro is equivalent to Q_EXPORT_PLUGIN2(ClassName, ClassName).

Notes provided by the Qt Community

No notes