前面介绍了用C++定义QML类型,通常在使用Qt Quick开发项目时,C++定义后端数据类型,前端则完全使用QML实现。而QML类型或Qt Quick中的类型时不免需要为对象增加一些属性,本篇就来介绍如何自定义属性。
1. 创建项目,并编辑Main.qml
import QtQuick
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
MouseArea {
anchors.fill: parent
onClicked: {
sender.aInt += 1
}
}
Item {
id: sender
property int aInt
onAIntChanged:() => {
console.log("Sender Now aInt is :", aInt)
}
}
Item {
id: receiver
Connections {
target: sender
function onAIntChanged(message : string) {
console.log("Receiver Now aInt is :", sender.aInt)
}
}
}
}
- 在sender对象中通过关键字property创建了一个int类型的aInt属性
- 定义属性后QML会自动定义一个槽名为onXXXXChanged。因此结合上篇介绍的槽的相关内容,我们就可以在本对象和其他对象中监控自定义属性的变化了
2. 执行程序
在窗口中点击鼠标便可以在Qt Creator中看到如下Log了文章来源:https://www.toymoban.com/news/detail-791063.html
文章来源地址https://www.toymoban.com/news/detail-791063.html
到了这里,关于【QML COOK】- 008-自定义属性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!