Qt CMake 项目中 QML 和资源文件的引入方式

初入CMake,和之前的qmake差别还是挺大的,笔者在边学习的同时,边整理一下目前使用到的文件引入方法,以供参考...

一、引入QML文件

先在本地文件夹中创建好分类的文件夹和qml文件,然后在Qt Creator中右键Source Files添加现有文件(依旧不理解为什么Qt Creator不直接在本地创建文件夹)

然后查看CMakeLists中的qt_add_qml_module

c 复制代码
//如我这边的CMakeList.txt
qt_add_qml_module(apptest
    URI test								//这边是模块名
    VERSION 1.0							//这边是版本号
    QML_FILES main.qml
    QML_FILES Module/TestMd.qml
)

然后在需要引入的qml文件夹中import模块,并使用即可

c 复制代码
//main.qml
import QtQuick
import test 1.0

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    TestMd{
        anchors.centerIn: parent
    }
}

二、引入图片文件

右键apptest,添加新文件Qt Resource File。然后依旧在本地文件夹中创建好文件夹并拖入图片文件,最后在Qt Creator的Resources文件夹中右键添加现有文件即可。

这时注意CMakeLists中的qt_add_qml_module

c 复制代码
//注意这边的路径
qt_add_qml_module(apptest
    URI test
    VERSION 1.0
    QML_FILES main.qml
    QML_FILES Module/TestMd.qml
    RESOURCES Resrc.qrc
    RESOURCES Icon/1.png
)

在qml中使用QML模块URI+资源在模块中的相对路径(即qt_add_qml_module中的路径) 调用即可

c 复制代码
//示例
import QtQuick
import test 1.0

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    Image {
        id:testimg
        source: "qrc:/test/Icon/1.png"
        anchors.centerIn: parent
        height: 80
        width: 50
    }
}

三、后续待补...

相关推荐
传奇开心果编程21 分钟前
【dioxus0.7基础语法学与练】第8课:RSX 宏 — Dioxus 声明式 UI 语法
开发语言·学习·rust
Jackson_GJH1 小时前
C++虚函数、虚继承、虚基类
c++·c++基础
wuyk5551 小时前
18.Kruskal 算法:用最短的边连成一张网
开发语言·算法·图论
Evand J1 小时前
【MATLAB例程,图像降噪7】高斯加权滑动窗口滤波,用于图像降噪,带质量评价,附代码下载链接
开发语言·图像处理·matlab·滑动窗口·滤波·降噪·图像滤波
十年一梦惊觉醒1 小时前
快手视频发布助手,全自动视频发布带货工具
开发语言·前端·javascript
Java后端的Ai之路1 小时前
一文搞懂 GitHub Actions-CICD
开发语言·大模型·github·cicd·action
码匠许师傅1 小时前
【C++三方组件】开篇总论:为什么需要以及如何选型?
开发语言·c++
h_a_o777oah1 小时前
【Games101】C++ 软光追:光线追踪的求交逻辑和 BVH 提效实现及代码实现细节
c++·计算机图形学·光线追踪·games101·bvh·求交算法·软件渲染
cvby1 小时前
C++11--右值引用和移动语义
开发语言·c++
颜颜yan_1 小时前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos