qt--Qml控件库如何从外部导入

ops/2024/9/23 21:14:12/

文章目录

  • 两种方案
    • 方案1 给项目添加子项目
    • 方案2 使用pri文件
  • 综合来说 :

两种方案

方案1 给项目添加子项目

利用git的特性
在这里插入图片描述

对应的子项目就是我们的控件库

然后需要哪个控件 在父项目的qrc路径进行导入
在这里插入图片描述
即可将控件库里面的控件给导入项目 在使用的时候 使用模块中
在这里插入图片描述
在项目文件里面
import QmlCommon 1.0 即可使用

在main.cpp 文件里面
去导入对应的qml文件的路径
在这里插入图片描述
在pro文件中
在这里插入图片描述
导入对应的QmlCommon的路径 这样不会爆红

子项目和夫项目代码互不影响 提交代码的时候 如果都修改到了 需要分两次提交

方案2 使用pri文件

在项目的pro文件中
在这里插入图片描述
这里直接包含pri文件 导入控件库

对应的qml控件库pri文件
在这里插入图片描述


RESOURCES += $$PWD/QmlCommon/QmlCommon.qrcwin32{path=$$system("cd")path ~=s,\\\\,/,g
}
DEFINES += QmlCommonImportPath=\\\"file:///$${path}/\\\"# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH	+= $$PWD

这里其实是 定义了QmlCommonImportPath 的绝对路径 这样导入的时候 才不会出错

对应的main文件里面添加导入路径
在这里插入图片描述

使用方式
直接在项目文件里面导入
import QmlCommon 1.0
即可正常使用

综合来说 :

pri的方式 更方便 但是细节比较多 容易出错
pri的这种方式 rec的资源文件是自带的

子模块的方式 要简单点 但是需要导入控件库的人自己去添加控件 和添加资源到项目的rec资源文件中


http://www.ppmy.cn/ops/114964.html

相关文章

Gitee Pipeline 从入门到实战【详细步骤】

文章目录 Gitee Pipeline 简介Gitee Pipeline 实战案例 1 - 前端部署输入源NPM 构建Docker 镜像构建Shell 命令执行案例 2 - 后端部署全局参数输入源Maven 构建Docker 镜像构建Shell 命令执行参考🚀 本文目标:快速了解 Gitee Pipeline,并实现前端及后端打包部署。 Gitee Pi…

centos 7.9安装k8s

前言 Kubernetes单词来自于希腊语,含义是领航员,生产环境级别的容器编排技术,可实现容器的自动部署扩容以及管理。Kubernetes也称为K8S,其中8代表中间8个字符,是Google在2014年的开源的一个容器编排引擎技术&#xff…

PWN二进制安全修仙秘籍【第一章#工具篇02】GDB的使用及pwndbg插件安装

很多人在学习新知识之前都不喜欢研究理论、原理,我觉得这是大错特错的!!! 所以 在学习GDB的使用之前,我们先来学习一下GDB的组成 1. GDB的组成 下面这张图就是GDB的组成架构,是不是很抽象哩&#xff0c…

chatGPT问答知识合集【一】

influnxdb与jmeter集成 InfluxDB 是一个开源的时间序列数据库,而 JMeter 是一个用于性能测试的工具。将 InfluxDB 与 JMeter 集成可以帮助您将 JMeter 测试结果数据存储在 InfluxDB 中,以便后续进行数据分析、可视化和监控。这种集成可以帮助您更好地了解应用程序的性能和行…

单片机与PIC的区别:多方面对比

单片机与PIC的区别:多方面对比 在现代电子产品的设计中,单片机和PIC都是不可或缺的控制器。尽管它们在功能上有许多相似之处,但在设计、应用、优势和劣势等方面却有显著区别。今天,我们就来详细对比一下单片机和PIC。 1. 定义与…

计算机网络各层有哪些协议?

计算机网络的各层协议知识总结 一、物理层 没有涉及到比较重要的协议,但是有一个比较重要的技术----非对称数字用户线(ADSL) 二、数据链路层 1、点对点协议(PPP----point to point protocol,用户计算机与ISP进行通信…

docker部署datart并配置邮件发送及遇到的问题

上篇文章讲了如何 使用docker部署datart后,由于需要使用邮件功能,所以查看官方的邮件相关配置 由于我只有一个data.conf文件,于是我给邮件的配置直接放在data.conf里,先给官方提供的节点转为行节点就是下面这个配置: s…

python学习总结--引用redis,ImportError: No module named redis

使用的Ubutun,使用python语言操作redis,结果显示找不到redis模块. 解决: 本机有两个版本python2和python3,使用pip默认安装到python3版本,或者自己查看一下pip install安装在什么位置。结果自己使用python connect_red…