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

QML学习笔记(十八)QML的信号处理器的Connections写法

前言

在我们此前的学习中,我们实现信号处理器时都是在当前组件代码的内部进行实现的。实际上,我们可以通过Connections写法,将信号处理器的相关实现代码放在外面。

一、Connections

这是此前的写法:

Window {visible: truewidth: 640height: 480title: qsTr("QmlConnections")Rectangle{id: rectIdwidth: 200height: 200color: "dodgerblue"MouseArea{id: mouseAreaIdanchors.fill: parentonClicked:{console.log("Clicked on the mouse area")}onDoubleClicked: mouse =>{console.log("Double clicked at: " + mouse.x + " ," + mouse.y)}}}
}

这是使用了Connections的写法:

Window {visible: truewidth: 640height: 480title: qsTr("QmlConnections")Rectangle{id: rectIdwidth: 200height: 200color: "dodgerblue"MouseArea{id: mouseAreaIdanchors.fill: parent}}Connections{target: mouseAreaIdfunction onClicked(){console.log("Clicked on the mouse area")}function onDoubleClicked(mouse){console.log("Double clicked at: " + mouse.x + " ," + mouse.y)}}
}

可以看到,使用了Connections便能将处理器代码放在外部,当写法会有所不同。
首先,我们要设置一个target,虽然是目标的意思,但实际上是源、信号的来源的意思,切记不要混淆。
然后我们使用function来实现处理器代码,这里需要加(),注意里面的参数mouse,这个需要和该接口的定义保持一致,如果有不清楚的记得查找帮助文档。

二、总结

本节内容比较简单,后面可能也会有篇幅较短的文章。原本想要几个知识点合并起来,但感觉还是单独分开写比较好,零碎点总好过显得混乱不堪。
这个Connections实际上功能还不止如此。
在C++代码发送信号,需要在qml进行接收的情形时,我们也需要使用到这个东西,并且它非常重要。这个将在学习C++和qml进行交互的时候,再进行学习和介绍。

http://www.dtcms.com/a/418245.html

相关文章:

  • Spring Cloud Gateway 实战:全局过滤器日志统计与 Prometheus + Grafana 接口耗时监控
  • CTFHub RCE通关笔记7:命令注入 过滤cat(9种渗透方法)
  • Kotlin Value Class 全面解析:类型安全与零开销封装
  • 【Android】kotlin.flow简介
  • 如何在电脑上编辑三星联系人
  • Java开发环境搭建之 9.使用Docker Compose 安装部署RabbitMQ
  • 智能家居:从设备互联到智慧感知的技术演进
  • 做网站是个什么行业网站设计示例
  • D018 vue+django 旅游图谱推荐问答系统|neo4j数据库|智能问答
  • 11. Jmeter性能与优化
  • 水脉织城・文脉映画:泰州城市旅游宣传片的专业化叙事路径
  • QT文件解析与乱码问题
  • 医疗编程AI技能树与培训技能树报告(国内外一流大学医疗AI相关专业分析2025版,下)
  • seo网站快速排名企业域名怎么填写
  • 谈谈数学和式的理解和应用
  • 【Linux指令 (一)】Linux 命令行入门:从零开始理解Linux系统理论核心概念与基础指令
  • 网站建设案例赏析网站制作比较好的制作公司
  • 线上JVM问题定位常用命令
  • 通过配置 GitLab 自动触发项目自动化构建与部署
  • 【qml-12】Quick3D实现机器人鼠标拖拽转换视角(无限角度)与滚轮缩放
  • h5实现一个吸附在键盘上的工具栏
  • 解决 sqlplus / as sysdba 登录缓慢问题
  • Mysql DBA学习笔记(主从复制)
  • 网站开发的交付文档企业策划是什么意思
  • 个人网站主机选择上海品牌全案设计公司
  • 布谷娱乐直播系统源码开发实用功能:技术驱动更迭的创新体验
  • ArcGIS JSAPI 高级教程 - 高亮效果优化之开启使用多高亮样式
  • 元宇宙的搜索引擎:如何在虚拟世界中查找信息
  • Unity-AB包
  • Rust开发环境配置