- 58
- 0
- 约1.47万字
- 约 15页
- 2017-06-07 发布于湖北
- 举报
QT Plugin
QT Plugin
基于QQTT PPlluuggiinn框架结构
日常总结 2009-04-24 18:56:02 阅读168 评论0 字号:大中小订阅
qt plugin
qt plugin
一:qqttpplluuggiinn 介绍
Qt Plugin 和其他类型的插件一样,是一种计算机应用程序,它和主应用程序(host application)互相
交互,以提供特定的功能。应用程序支持Plugin有许多原因,一些主要原因包括:使得第三方开发者有能
力扩展应用程序,以提供无法先期预料的特色;减小应用程序的大小;由于软件版权之间的不兼容性将源
代码和应用程序分享。Qt Plugin 分动态插件和静态插件两种。
qt plugin
qt plugin
二:qqtt pplluuggiinn 创建和使用方法
Qt API Qt
有两种与插件有关的 。一种用来扩展 本身的功能,如自定义数据
库驱动,图像格式,文本编解码,自定义分格,等等,称为Higher-Level API。
另一种用于应用程序的功能扩展,称为Lower-Level API。前一种是建立在后一
种的基础之上的。这里讨论的是后一种,即用来扩展应用程序的Lower-level API。
让应用程序支持插件扩展的步骤:
1. 定义一个接口集(只有纯虚函数的类),用来与插件交流。
2. 用宏Q_DECLARE_INTERFACE()将该接口告诉Qt 元对象系统。
Q_DECLARE_INTERFACE(BrushInterface,com.trolltech.PlugAndPaint.Brus
hInterface/1.0)
3. 应用程序中用QPluginLoader来装载插件。
4. 用宏qobject_cast()来确定一个插件是否实现了接口。
QObject *obj = new QTimer;
QTimer *timer = qobject_castQTimer *(obj);
写一个插件的步骤:
1. 声明插件类,该类从QObject和该插件希望实现的接口继承而来。
2. 用宏Q_INTERFACES()将该接口告诉Qt 元对象系统。
class BasicToolsPlugin : public QObject,
public BrushInterface,
public ShapeInterface,
public FilterInterface
{
Q_OBJECT
Q_INTERFACES(BrushInterface ShapeInterface FilterInterface)
public:
...
};
3. 用宏Q_EXPORT_PLUGIN2()导出插件。
Q_EXPORT_PLUGIN2 ( PluginName, Cl
您可能关注的文档
- PROTEL 99 SE 第3讲 原理图的绘制.ppt
- proteus提供的所有元件分类与子类(中英对照).doc
- PSPC介绍及执行指南.ppt
- 数据分析方法与软件应用 -- 时间序列分析.pptx
- 数据分析软件的实际值和显示值.pdf
- 第二讲-2 基因克隆载体-9.9.ppt
- ps第8章文字的输入和编辑.pdf
- 数据结构 第9篇 查找.ppt
- 第二讲财政支出概述.ppt
- Ps工具与其快捷键-(图片+详解).doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)