<QtPlugin> 頭文件定義用於定義插件的宏。 更多...
| 頭: |
#include <QtPlugin>
|
| Q_DECLARE_INTERFACE ( ClassName , Identifier ) | |
| Q_IMPORT_PLUGIN ( PluginName ) | |
| Q_PLUGIN_METADATA (...) |
另請參閱 如何創建 Qt 插件 .
此宏關聯給定 Identifier (字符串文字) 到接口類稱為 ClassName 。 Identifier 必須唯一。
通常,正確使用此宏是在類定義後對於 ClassName ,在 Header 頭文件中。
若想要使用 Q_DECLARE_INTERFACE 采用在名稱空間中聲明的接口類,必須確保 Q_DECLARE_INTERFACE 不在名稱空間中。例如:
namespace Foo { struct MyInterface { ... }; } Q_DECLARE_INTERFACE(Foo::MyInterface, "org.examples.MyInterface")
另請參閱 Q_INTERFACES () 和 如何創建 Qt 插件 .
此宏導入插件命名 PluginName ,相當於聲明插件元數據的類名,采用 Q_PLUGIN_METADATA ().
Inserting this macro into your application's source code at file scope of the root namespace will allow you to make use of a static plugin.
範例:
Q_IMPORT_PLUGIN(qjpeg)
靜態插件還必須由鏈接器包括,當構建應用程序時。見 靜態插件 瞭解有關這的更多信息。
另請參閱 靜態插件 and 如何創建 Qt 插件 .
此宏用於聲明元數據 (是實例化此對象的插件的一部分)。
宏需要聲明透過對象實現的接口 IID,並引用包含插件元數據的文件。
此宏應準確齣現在 Qt 插件源代碼中一次。
範例:
class MyInstance : public QObject { Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDummyPlugin" FILE "mymetadata.json") };
注意:此宏的類的齣現必須默認可構造。
FILE 是可選的並指嚮 json 文件。
json 文件必須位於構建係統指定包含的某個目錄下。moc 帶錯誤退齣當找不到指定文件時。
另請參閱 Q_DECLARE_INTERFACE () 和 如何創建 Qt 插件 .