Qt高级- Qt插件开发

  

Qt高级- Qt插件开发

  

本文讨论Qt4.8的插件机制

  

一、Qt插件机制

  

1, Qt插件简介

  

插件是一种遵循一定规范的应用程序接口编写出来的程序,定位于开发实现应用软件平台不具备的功能的程序。

  

2, Qt插件API/h4>   

Qt提供了两种API用于创建插件:一种是高阶API,用于扩展Qt本身的功能,如自定义数据库驱动,图像格式,文本编码,自定义样式等;一种是低阶API,用于扩展Qt应用程序。

  

3,通过插件扩展应用程序功能

  

,定义一个接口集(只有纯虚函数的类),用来与插件交流。
B,用宏Q_DECLARE_INTERFACE()将该接口告诉Qt元对象系统。
C,应用程序中用QPluginLoader来加载插件。
D,用宏qobject_cast()来判断一个插件是否实现了接口。

  

4,创建插件

  

创建一个插件的步骤如下:
,声明插件类,插件类继承自QObject和插件实现的接口。
B,用宏Q_INTERFACES()将插件接口告诉Qt元对象系统。
C,用宏Q_EXPORT_PLUGIN2()导出插件类。
D,用适当的。箴文件构建插件。
在加载插件前,QCoreApplication对象必须被初始化。

  

二、插件开发实例

  

1,创建工程

  

创建工程,选择“其他项目”→“子目录项目”,填写工程名称为PluginApp,选择保存目录。
 Qt高级- Qt插件开发

  

2,创建应用工程

  

在PluginApp工程上右键选择“新子项目”菜单项,选择创建一个GUI应用,工程名称为主窗口。
 Qt高级- Qt插件开发“> <br/>填写工程应用名称<br/> <img src=Qt高级- Qt插件开发