当前位置: 首页 > ds >正文

qt中自定义控件编译成动态库

背景:已经实现一个自定义控件来展示电池电量组件,现在想把组件编译成一个动态库供其他工程方便使用。

环境:

QT版本5.14.1

QT Creator版本4.11.1

编译器使用Qt 5.14.2 MinGW 64-bit

具体步骤如下:

创建自定义控件编译动态库工程

选择编译器,这里选择Qt 5.14.2 MinGW 64-bit

这里要编译的自定义控件类名为MyBattery

到这里如上已经生成了工程目录,不过这里的MyBattery实现都为空

接下来需要把具体实现的mybattery.cpp和mybattery.h

mybattery.h文本进行如下修改

将cpp和h文件拷贝到该工程进行覆盖

编译构建,生成的dll和a文件

中间步骤

将上述工程编译生成的mybatteryplugin.dll和libmybatteryplugin.a新拷贝到一个临时目录include下面,再把mybattery.h头文件也拷贝到include目录下

最后把mybatteryplugin.dll拷贝到qt和qtcreator的plugins\designer目录下:

(如下是qt和qt creator目录)

E:\Tools\qt\Qt5\Tools\QtCreator\bin\plugins\designer

E:\Tools\qt\Qt5\5.14.2\mingw73_64\plugins\designer

创建使用动态库构建新的项目

如上步骤自定义控件的dll和a文件已经生成,接下来使用来验证能否正常使用

创建一个工程,这里步骤忽略

下面是添加外部库和头文件步骤,不然工程没法识别

这里选择库的目录,这里为include目录

即可正确使用 OK

http://www.xdnf.cn/news/14447.html

相关文章:

  • 详解Java的启动参数-Dfile.encoding、System.getProperty(“file.encoding“)、该参数影响哪些行为
  • 如何监控Seata的事务执行状态?
  • 【python】pathlib用法
  • 3.1.2_栈的顺序存储实现
  • JavaScript 将一个带K-V特征的JSON数组转换为JSON对象
  • Python实例题:Python计算偏微分方程
  • c++算法学习7——倍增算法
  • 山东大学软件学院创新项目实训开发日志——第十七周
  • RAG 系统评估与优化指南:从 RAGAS 到 ARES 的实战应用
  • Flask 动态模块注册
  • Hoppscotch
  • Makefile关键语法示例
  • 三维重建 —— 5. 双目立体视觉
  • CNN中的感受野
  • linux 常用工具的静态编译之一
  • Python打卡训练营-Day31-文件的规范拆分和写法
  • Vue2 与 Vue3 中环境变量配置的差异详解。
  • 电力系统时间同步检测技术
  • (下)通用智能体与机器人Transformer:Gato和RT-1技术解析及与LLM Transformer的异同
  • 【Golang面试题】什么是 sync.Once
  • 安全生产台账系统
  • 【无标题】二维势能塌陷的拓扑色动力学:数学物理框架与引力本质探索
  • 华为OD机试_2025 B卷_数组排列求和(Python,100分)(附详细解题思路)
  • vim编辑常用命令
  • JAVA理论第十七章-RocketMQKafaka
  • 【Linux教程】Linux 生存指南:掌握常用命令,避开致命误操作
  • 基于可靠消息确保分布式事务的最终一致性:以电商系统中订单服务的新建订单为例
  • C# 使用 TreeView 实践 WinRiver II 的测量管理功能
  • 篇章六 论坛系统——业务开发——实现业务功能
  • Java 与 MySQL 性能优化:Linux服务器上MySQL性能指标解读与监控方法