QT5/QT6中QML的封装自定义控件问题

自定义控件的封装能够大幅减少在main中的代码量,但QT5和QT6中的封装方法略微不同。

QT5中QML的新建项目一般创建完是:

untitled/
├── untitled.pro
├── 源文件
│   └──main.cpp
├── 资源
│   └── qml.qrc
│       └──/
│          └──main.qml

我们只需在 / 文件夹下(和main.qml同目录)新建一个CustomButton.qml文件,就能够在main.qml中直接使用我们新建文件的文件名(CustomButton),来直接调用自定义控件。

而在QT6中QML的新建格式却不太一样,一般是:

untitled/
├── untitled.pro
├── 源文件
│   └──main.cpp
├── QML
│   └── main.qml

那么直接在同目录下新建文件就不起效了,但方法也很简单。

参考在资源中引用图片的例子,我们在根目录新增一个Qt Resource File,起个文件名(例:Custom),添加前缀(例:CustomButton),然后右击Custom.qrc添加新文件,选择QML File,起文件名(例:CustomButton1),在CustomButton1中编写自定义控件代码,最后在main.qmlimport "qrc:/CustomButton",既可在main中直接调用,下面给出项目构成main.qml的代码:

untitled/
├── untitled.pro
├── 源文件
│   └──main.cpp
├── 资源
│   └──Custom.qrc
│      └──/CustomButton
│         └──CustomButton1.qml
├── QML
│   └── main.qml
import QtQuick
import "qrc:/CustomButton"    //qrc即添加的Custom.qrc

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

    CustomButton1{

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值