当前位置: 首页 > article >正文

QML的属性绑定

QML绑定方式有多种,简单来说有直接绑定、Binding绑定和Qt.Binding等方式,但是如果其中存在一个小坑就是绑定失效的问题,如果一个属性多次直接绑定,则会导致所有绑定都会失效。如果希望多次绑定的话可以按照Qt官方介绍的使用Qt.binding重新绑定,使当前绑定方式生效,后续不会失效。Qt官方也在property binding中介绍了这种情况,之前没有细看文档,遇到失效问题感到很纳闷。
在这里插入图片描述

Rectangle {
    id: root
    width: 20
    height: root.width
    border.width: 1
    border.color: "#00ff00"
    MouseArea {
        anchors.fill: parent
        onClicked: {
            root.height = root.width * 3 // 这里在点击后会生效一次,后续height不在随width变化而变化了
//            root.height = Qt.binding(function(){return this.width * 3 })
        }
    }
}

资料来源:

https://runebook.dev/cn/docs/qt/qtqml-syntax-propertybinding


http://www.kler.cn/a/543330.html

相关文章:

  • 新一代SCADA: 宏集Panorama Suite 2025 正式发布,提供更灵活、符合人体工学且安全的应用体验
  • 一个基于ESP32S3和INMP441麦克风实现音频强度控制RGB灯带律动的代码及效果展示
  • Cursor 编辑器详细介绍与使用
  • Spring Cloud工程完善
  • Prompt通用技巧1
  • 【开源AI】AI一页一页读PDF
  • Streamlit快速构建大模型前端框架
  • ArcGIS基础知识之ArcMap基础设置——ArcMap选项:常规选项卡设置及作用
  • 计算机毕业设计SpringBoot校园二手交易小程序 校园二手交易平台(websocket消息推送+云存储+双端+数据统计)(源码+文档+运行视频+讲解视频)
  • 2024主流Web框架横向对比:Gin、Laravel、ThinkPHP、Spring Boot及更多框架的选型指南
  • 二、数据类型、运算符
  • 使用DeepSeek R1打造私有化AI助手
  • 安科瑞光伏发电防逆流解决方案——守护电网安全,提升能源效率
  • 激光工控机在精密制造中的应用与优势
  • JAVA/RUST/C#/Kotlin 各语言语法糖及特性对比表
  • 【JavaScript】异步编程汇总
  • Lua语言的安全开发
  • 一文讲清springboot所有注解
  • 小蓝相机启动阶段trace学习笔记
  • 每日一题——括号生成
  • Selenium:网页frame与多窗口处理
  • 【大模型】阿里云百炼平台对接DeepSeek-R1大模型使用详解
  • Linux命名管道与共享内存
  • Linux之kernel(1)系统基础理论(2)
  • 51单片机俄罗斯方块整行消除函数
  • 数字人技术之LatentSync Win11本地部署