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

Qt使用pri和pro文件进行模块化编程

假如我想要做一个功能,这个功能用代码模块化实现出来,方便将来移植,比如音视频播放器的界面,将来想要在其他工程使用时,只需要将widget提升为音视频播放界面即可。
当我们其他工程需要这个功能时,我们在调用的时候直接添加源码吗?
如果源文件特别多怎么办?这里就一入了pri文件
1、假设举个例子,假设想要做两个模块化的功能,分别是加法和减法
在这里插入图片描述
2、将加法写在一个类中,减法写在另一个类
在这里插入图片描述

addModule.pri文件,作为加法

HEADERS += \$$PWD/addhelper.hSOURCES += \$$PWD/addhelper.cpp

subModule.pri文件

HEADERS += \$$PWD/subhelper.hSOURCES += \$$PWD/subhelper.cpp

在calcator中使用上面两个pri文件

在这里插入图片描述

在这里插入图片描述

总工程需要使用模块功能

calcator.pro文件

QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++17SOURCES += \main.cpp \widget.cppHEADERS += \widget.hFORMS += \widget.uiINCLUDEPATH += $$PWD/add
include ($$PWD/add/addModule.pri)INCLUDEPATH += $$PWD/sub
include ($$PWD/sub/subModule.pri)

在widget文件中可以直接使用上面两个的头文件了
在这里插入图片描述

http://www.lryc.cn/news/536541.html

相关文章:

  • Linux-文件基本操作
  • 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的时间线(Timeline )
  • 初窥强大,AI识别技术实现图像转文字(OCR技术)
  • 【Apache Paimon】-- 作为一名小白,如何系统地学习 Apache paimon?
  • Elasticvue使用总结
  • 尚硅谷爬虫note002
  • 小白零基础如何搭建CNN
  • 在vivado中对数据进行延时,时序对齐问题上的理清
  • 《只狼》运行时提示“mfc140u.dll文件缺失”是什么原因?要怎么解决?
  • vue学习笔记7
  • Unity 增量打包AssetBundle
  • 嵌入式八股文面试题(二)C语言算法
  • 尚硅谷爬虫note005
  • xml 和json互转工具
  • ElementUI 抽屉组件高度封装
  • 深入解析:如何在C#和C/C++之间安全高效地通过P/Invoke传递多维数组
  • 轻量级在线ETL数据集成工具架构设计与技术实现深度剖析
  • 二、k8s项目的生命周期
  • GPT 系列模型发展史:从 GPT 到 ChatGPT 的演进与技术细节
  • C#语言的云计算
  • 金仓数据库-KingbaseES-学习-01-单机部署(非图形化安装)
  • 海外服务器都有什么作用?
  • git bash在github的库中上传或更新本地文件
  • vue2中 computed 计算属性
  • 自定义基座实时采集uniapp日志
  • 基于YALMIP和cplex工具箱的微电网最优调度算法matlab仿真
  • Effective Objective-C 2.0 读书笔记——内存管理(上)
  • 蓝桥杯-洛谷刷题-day5(C++)(为未完成)
  • conda 修复 libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found 简便方法
  • 数据结构之队列,哈希表