Qt之插件项目的创建及使用步骤(详细步骤)

一、文章简介

本文为Qt之QPluginLoader使用插件子项目及插件间通信(简易框架)(含部分源码+注释)的续章(该文主要针对插件的理解及使用),本章为
插件的详细创建步骤。
以下为本文使用的Qt版本:
在这里插入图片描述

二、详细步骤

1.插件项目的主体创建

  1. 选择”其他项目“下的”子目录项目“模板,然后够点击”Choose…“。
    在这里插入图片描述
  2. 设置”项目介绍和位置“信息,设置预期的”项目名称“和”创建路径“然后”下一步“。
    在这里插入图片描述
  3. 选择合适的”构建配置“,然后”下一步“。
    在这里插入图片描述
  4. 然后检查“添加的文件”再点击“完成&添加子项目”即可,至此插件项目的主体创建完成。
    在这里插入图片描述

2.创建插件项目的主项目

**注:**完成插件主体的创建后(点击“完成&添加子项目”后)将弹出“新建子项目”的弹窗,此处先创建插件项目中的主项目。

  1. 在弹出的“新建子项目”的弹窗中选择“Application(Qt)”下的“Qt Widgets Application”项,然后点击“Choose…”。(生成的插件主体将显示出来,如下图左侧导航栏)
    在这里插入图片描述
  2. 选择后根据需求设置主项目的项目名称路径,然后点击”下一步“。
    在这里插入图片描述
  3. 然后选择构建类型,文章选择“qmake”项(通常默认即可),然后点击“下一步”。
    在这里插入图片描述
  4. 然后开始设置主项目类相关信息,设置完成后点击“下一步”。
    在这里插入图片描述
  5. 然后是翻译文件的设置,此处直接点击“下一步”即可。
    在这里插入图片描述
  6. 选择”构建配置“(此处需要与插件主体的选择项一致),然后”下一步“。
    在这里插入图片描述
  7. 检查生成文件项,确认无误后点击“完成”即可。
    在这里插入图片描述
  8. 主项目生成效果展示
    在这里插入图片描述
  9. 插件通信接口类的添加。
    在主项目的文件夹上右键,选择“添加现有文件”(事先准备好的接口类,如没有现成的选择“Add New…”新建一个即可)。
    在这里插入图片描述
    然后弹出“添加现有文件”弹窗,选择接口类并点击“打开”按钮即可。
    在这里插入图片描述

添加完成后,接口类显示在左侧导航栏中,接口类内容如下。
在这里插入图片描述

  1. 主项目的Pro文件修改
    图中为添加前及添加后的差异内容(右侧黄色模块文字为修改内容)
    在这里插入图片描述

3.创建插件项目的子插件

  1. 右键插件主体文件夹,并选择“新子项目”菜单
    在这里插入图片描述

  2. 在弹出的“新建子项目”的弹窗中选择“其他”下的“Qt4 设计师自定义控件”项(选择此项可通过生成的项目文件快速修改成插件子项目),然后点击“Choose…”。
    在这里插入图片描述

  3. 设置“项目名称”和“项目路径”,然后点击”下一步“按钮。
    在这里插入图片描述

  4. 在自定义控件列表中设置插件项目信息,左侧的框选的是控件类,右侧为控件类信息和插件类信息(通常来说控件类如果叫“xxx”,那么插件类则叫“xxxplugin”比较合适)。
    在这里插入图片描述

  5. 设置子插件名称,完成后点击“下一步”按钮。
    在这里插入图片描述

  6. 检查添加的插件类、控件类相关信息,确认后点击“完成”按钮即可。
    在这里插入图片描述

  7. 子插件的Pro文件修改
    图中为添加前及添加后的差异内容(右侧黄色模块文字为修改内容)
    在这里插入图片描述

  8. 添加现有接口文件,右键子插件文件夹,选择右键菜单中的”添加现有文件…“菜单
    在这里插入图片描述
    然后弹出“添加现有文件”弹窗,选择接口类并点击“打开”按钮即可。(此处使用的是主项目中的接口类,直接使用即可)
    在这里插入图片描述

1.主项目与子插件简单使用(插件类的修改及主项目的使用)

  1. 子插件的插件类内容修改
    当子插件在完成添加插件接口类时,将子插件插件类继承接口类并移除原有继承类,;
    将Q_INTERFACES和Q_DECLARE_INTERFACE宏内容替换为自定义的接口标签;
    移除插件类中的原有函数并实现接口类中的纯虚函数;
    添加插件控件类,并创建插件控件类对象。
    在这里插入图片描述

  2. 子插件的控件类内容修改
    为使得控件类有明显区别,添加控件类的标签控件并设置控件类的背景颜色,下图为控件类的更新内容。
    在这里插入图片描述
    在这里插入图片描述

  3. 主项目的主窗口类的修改
    下图的差异内容为主窗口类通过QPluginLoader创建并调用接口类的内容。
    在这里插入图片描述

5.主项目与子插件的使用展示

在这里插入图片描述

总结

本文详解了插件的创建及相关项目使用的步骤。插件模式主应用于大型项目中,通常一个大功能模块代表一个插件,工作中会时常遇到这种模式存在。

相关文章

Qt之QPluginLoader使用插件子项目及插件间通信(简易框架)(含部分源码+注释)


友情提示——哪里看不懂可私哦,让我们一起互相进步吧
(创作不易,请留下一个免费的赞叭 谢谢 ^o^/)

注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除


相关推荐

  1. Qt·Qt开发·导出步骤

    2024-03-20 19:30:02       13 阅读
  2. jmeter生成随机数详细步骤使用方式

    2024-03-20 19:30:02       15 阅读
  3. 项目开发详细步骤(精华版)

    2024-03-20 19:30:02       12 阅读
  4. Chrome安装Vuevue-devtools步骤

    2024-03-20 19:30:02       16 阅读
  5. QT6.3下载安装步骤详解

    2024-03-20 19:30:02       52 阅读
  6. postman怎么生成随机数详细步骤使用方式

    2024-03-20 19:30:02       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 19:30:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 19:30:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 19:30:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 19:30:02       18 阅读

热门阅读

  1. How to install mongodb on redhat 7.7

    2024-03-20 19:30:02       16 阅读
  2. Qualcomm AI Hub-示例(一)编译模型

    2024-03-20 19:30:02       19 阅读
  3. Linux使用strlcpy

    2024-03-20 19:30:02       20 阅读
  4. PaddleOCR识别框架解读[17] 文本检测det_loss DBLoss

    2024-03-20 19:30:02       17 阅读
  5. 第4周 Python程序流程控制刷题

    2024-03-20 19:30:02       19 阅读
  6. 私域电商的关键要素和优势

    2024-03-20 19:30:02       21 阅读
  7. feign设置超时时间

    2024-03-20 19:30:02       19 阅读
  8. 富格林:虚假套路注重安全计策预防

    2024-03-20 19:30:02       24 阅读
  9. 洛谷入门——P1152 欢乐的跳

    2024-03-20 19:30:02       18 阅读
  10. jni入门学习 CMakeLists脚本

    2024-03-20 19:30:02       18 阅读
  11. 合唱队形

    2024-03-20 19:30:02       18 阅读