文章目录
一、文章简介
本文为Qt之QPluginLoader使用插件子项目及插件间通信(简易框架)(含部分源码+注释)的续章(该文主要针对插件的理解及使用),本章为
插件的详细创建步骤。
以下为本文使用的Qt版本:
二、详细步骤
1.插件项目的主体创建
- 选择”其他项目“下的”子目录项目“模板,然后够点击”Choose…“。
- 设置”项目介绍和位置“信息,设置预期的”项目名称“和”创建路径“然后”下一步“。
- 选择合适的”构建配置“,然后”下一步“。
- 然后检查“添加的文件”再点击“完成&添加子项目”即可,至此插件项目的主体创建完成。
2.创建插件项目的主项目
**注:**完成插件主体的创建后(点击“完成&添加子项目”后)将弹出“新建子项目”的弹窗,此处先创建插件项目中的主项目。
- 在弹出的“新建子项目”的弹窗中选择“Application(Qt)”下的“Qt Widgets Application”项,然后点击“Choose…”。(生成的插件主体将显示出来,如下图左侧导航栏)
- 选择后根据需求设置主项目的项目名称和路径,然后点击”下一步“。
- 然后选择构建类型,文章选择“qmake”项(通常默认即可),然后点击“下一步”。
- 然后开始设置主项目类相关信息,设置完成后点击“下一步”。
- 然后是翻译文件的设置,此处直接点击“下一步”即可。
- 选择”构建配置“(此处需要与插件主体的选择项一致),然后”下一步“。
- 检查生成文件项,确认无误后点击“完成”即可。
- 主项目生成效果展示
- 插件通信接口类的添加。
在主项目的文件夹上右键,选择“添加现有文件”(事先准备好的接口类,如没有现成的选择“Add New…”新建一个即可)。
然后弹出“添加现有文件”弹窗,选择接口类并点击“打开”按钮即可。
添加完成后,接口类显示在左侧导航栏中,接口类内容如下。
- 主项目的Pro文件修改
图中为添加前及添加后的差异内容(右侧黄色模块文字为修改内容)
3.创建插件项目的子插件
-
右键插件主体文件夹,并选择“新子项目”菜单
-
在弹出的“新建子项目”的弹窗中选择“其他”下的“Qt4 设计师自定义控件”项(选择此项可通过生成的项目文件快速修改成插件子项目),然后点击“Choose…”。
-
设置“项目名称”和“项目路径”,然后点击”下一步“按钮。
-
在自定义控件列表中设置插件项目信息,左侧的框选的是控件类,右侧为控件类信息和插件类信息(通常来说控件类如果叫“xxx”,那么插件类则叫“xxxplugin”比较合适)。
-
设置子插件名称,完成后点击“下一步”按钮。
-
检查添加的插件类、控件类相关信息,确认后点击“完成”按钮即可。
-
子插件的Pro文件修改
图中为添加前及添加后的差异内容(右侧黄色模块文字为修改内容)
-
添加现有接口文件,右键子插件文件夹,选择右键菜单中的”添加现有文件…“菜单
然后弹出“添加现有文件”弹窗,选择接口类并点击“打开”按钮即可。(此处使用的是主项目中的接口类,直接使用即可)
1.主项目与子插件简单使用(插件类的修改及主项目的使用)
-
子插件的插件类内容修改
当子插件在完成添加插件接口类时,将子插件插件类继承接口类并移除原有继承类,;
将Q_INTERFACES和Q_DECLARE_INTERFACE宏内容替换为自定义的接口标签;
移除插件类中的原有函数并实现接口类中的纯虚函数;
添加插件控件类,并创建插件控件类对象。
-
子插件的控件类内容修改
为使得控件类有明显区别,添加控件类的标签控件并设置控件类的背景颜色,下图为控件类的更新内容。
-
主项目的主窗口类的修改
下图的差异内容为主窗口类通过QPluginLoader创建并调用接口类的内容。
5.主项目与子插件的使用展示
总结
本文详解了插件的创建及相关项目使用的步骤。插件模式主应用于大型项目中,通常一个大功能模块代表一个插件,工作中会时常遇到这种模式存在。
相关文章
Qt之QPluginLoader使用插件子项目及插件间通信(简易框架)(含部分源码+注释)
友情提示——哪里看不懂可私哦,让我们一起互相进步吧
(创作不易,请留下一个免费的赞叭 谢谢 ^o^/)
注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除