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

三、后续待补...

相关推荐
2601_966949653 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨5 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪6 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风6 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
2601_962885728 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
choumin8 小时前
C++中万能引用与std::forward的作用和用法
c++·万能引用·std forward
Wang's Blog8 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里9 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑10 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl10 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言