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

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

  1. 创建项目,并编辑Main.qml
javascript 复制代码
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。因此结合上篇介绍的槽的相关内容,我们就可以在本对象和其他对象中监控自定义属性的变化了
  1. 执行程序

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

相关推荐
明月醉窗台11 小时前
qt使用笔记六之 Qt Creator、Qt Widgets、Qt Quick 详细解析
开发语言·笔记·qt
R_.L14 小时前
【QT】常用控件(按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
开发语言·qt
无小道16 小时前
Qt——常用控件
开发语言·qt
初次见面我叫泰隆16 小时前
Qt——5、Qt系统相关
开发语言·qt·客户端开发
牵牛老人18 小时前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
xmRao19 小时前
Qt+FFmpeg 实现 PCM 音频转 AAC 编码
qt·ffmpeg·pcm
xmRao19 小时前
Qt+FFmpeg 实现录音程序(pcm转wav)
qt·ffmpeg
喜欢喝果茶.19 小时前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
wjhx20 小时前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
踏过山河,踏过海20 小时前
【qt-查看对应的依赖的一种方法】
qt·visual studio