ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【QML COOK】- 008-自定义属性

2026/8/7 20:06:08 拓冰建站 浏览量
【QML COOK】- 008-自定义属性

前面介绍了用C++定义QML类型,通常在使用Qt Quick开发项目时,C++定义后端数据类型,前端则完全使用QML实现。而QML类型或Qt Quick中的类型时不免需要为对象增加一些属性,本篇就来介绍如何自定义属性。

1. 创建项目,并编辑Main.qml

import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")MouseArea {anchors.fill: parentonClicked: {sender.aInt += 1}}Item {id: senderproperty int aIntonAIntChanged:() =>  {console.log("Sender Now aInt is :", aInt)}}Item {id: receiverConnections {target: senderfunction onAIntChanged(message : string) {console.log("Receiver Now aInt is :", sender.aInt)}}}
}
  • 在sender对象中通过关键字property创建了一个int类型的aInt属性
  • 定义属性后QML会自动定义一个槽名为onXXXXChanged。因此结合上篇介绍的槽的相关内容,我们就可以在本对象和其他对象中监控自定义属性的变化了

2. 执行程序

在窗口中点击鼠标便可以在Qt Creator中看到如下Log了