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
    }
}

三、后续待补...

相关推荐
chushiyunen21 小时前
python中的内置属性 todo
开发语言·javascript·python
麦麦鸡腿堡21 小时前
JavaWeb_请求参数,设置响应数据,分层解耦
java·开发语言·前端
2301_8194143021 小时前
C++与区块链智能合约
开发语言·c++·算法
不想看见40421 小时前
Valid Parentheses栈和队列--力扣101算法题解笔记
开发语言·数据结构·c++
炸膛坦客21 小时前
单片机/C/C++八股:(十五)内存对齐、结构体内存对齐
c语言·开发语言·单片机
老约家的可汗21 小时前
C/C++内存管理探秘:从内存分布到new/delete的底层原理
c语言·c++
娇娇yyyyyy1 天前
QT编程(13): Qt 事件机制eventfilter
开发语言·qt
bcbobo21cn1 天前
C# byte类型和byte数组的使用
开发语言·c#·字节数组·byte类型
天赐学c语言1 天前
Linux - 应用层自定义协议与序列/反序列化
linux·服务器·网络·c++
计算机安禾1 天前
【C语言程序设计】第37篇:链表数据结构(一):单向链表的实现
c语言·开发语言·数据结构·c++·算法·链表·蓝桥杯