Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Qt Quick 5.15.0 Connections 新语法

Qt Quick 5.15.0 Connections 新语法

作者头像
我与梦想有个约会
发布于 2023-10-21 07:33:43
发布于 2023-10-21 07:33:43
20600
代码可运行
举报
文章被收录于专栏:jiajia_dengjiajia_deng
运行总次数:0
代码可运行

过去的 Connection 连接某个对象的信号时是这样写的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Connections {
    target: authManager
    onError: {
        busyContainer.visible = false
        buttonJoin.enabled = Qt.binding(function () {
            return textMeetingId.length >= 11 && textNickname.length > 0
        })
        message.error(result.msg)
    }
}

新的语法中可以这样写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Connections {
    target: authManager
    function onError(resCode, result) {
        busyContainer.visible = false
        buttonJoin.enabled = Qt.binding(function () {
            return textMeetingId.length >= 11 && textNickname.length > 0
        })
        message.error(result.msg)
    }
}

对于日常开发中,新的写法有助于我们定义槽函数的形参个数和实际作用。代码看起来更容易读懂。另外 Qt 官方文档中也介绍了一些其他好处,见:Qt官方文档 如果你使用 Qt 15.5.0 版本打开了一个旧的工程并使用的是旧的写法,那么会收到一个警告:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qrc:/qml/AnonJoinPage.qml:54:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }

既然是个警告,则不影响代码继续执行。但这样的警告不得不让你重写这部分代码来适配新的语法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Qt Quick中的信号与槽
  在QML中,在Qt Quick中,要想妥善地处理各种事件,肯定离不开信号与槽,本博的主要内容就是整理Qt 中的信号与槽的内容。
全栈程序员站长
2022/07/18
1.1K0
Qt开发-QT Quick
Row 则是一个单独的 Item ,专门用来管理其它 Item 的,后面介绍的几种布局,也是类似的。
码客说
2021/11/10
2.6K0
QML动态显示组件(支持在线编辑动态刷新)
QML动态组件显示器主要用于方便界面开发,在线编辑保存后自动刷新组件界面,并支持拖拽文件显示的方式。
Qt君
2019/07/15
5.5K0
Qt官方示例-QML标签页
❝TabWidget示例演示了如何使用属性别名和QML Object默认属性创建标签页。❞ TabWidget.qml Item { id: tabWidget // 核心实现 // 将默认属性设置为stack.children意味着TabWidget的所有子项实际上都已添加到"stack"项的子项中。 // 有关默认属性的详细信息,请参见"Property Binding"文档。 default property alias content: stack.c
Qt君
2023/03/17
1.3K0
Qt官方示例-QML标签页
qt5中信号和槽的新语法
qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget)。 connect(sender, SIGNAL (valueChanged(QString,QString)),receiver, SLOT (updateValue(QString)) ); 新语法:连接到QObject成员 下面是一种新的方式来连接两个QObjects: connect(sender, &Sender::val
蘑菇先生
2018/05/21
1.9K0
ant design中upload组件 上传图片压缩
不想描述多余的,直接看代码简单直接 const [defaultFileList, setDefaultFileList] = useState([]); <Upload accept="image/*" customRequest={uploadImage} onChange={handleOnChange} listType="picture-card"
我乃小神神
2021/12/07
1.5K0
拥抱 Vue 3 系列之 JSX 语法
“别再更新了,学不动了”。这句话不知道出了多少开发者的辛酸。在过去的一年中,Vue 团队一直都在开发 Vue.js 的下一个主要版本,就在 6 月底,尤大更新同步了 Vue 3 及其周边生态的状态:Vue 3: mid 2020 status update (https://github.com/vuejs/rfcs/issues/183)。
政采云前端团队
2020/07/24
2.3K0
【Qt源码笔记】Qt事件与Windows消息循环的联系
上次研究了一下Qt是如何对Win32初始化程序进行包装的。这次研究下Qt的事件循环和Windows消息循环之间的联系。
Harper
2021/07/27
2.5K0
Hello Qt——QMake用户指南[通俗易懂]
QMake扩展了每个工程文件的信息,生成一个执行编译和链接过程的必须命令的MakeFile。
全栈程序员站长
2022/08/31
6.5K0
linux下编译qt5.6.0静态库
编译QT是一件比较麻烦的事情。所以如果没有必要,就不要编译了。如果你只需要使用QT的一些基本功能,那么就只编译源码目录下的qtbase目录下的东西即可。 下面所介绍的都只是在linux下适用的(windows下使用MinGW也可以,QT提供的MinGW安装包是32位的,需要64位的可以参考)。 在编译前,最好先安装完成相关的依赖包,主要是xcb/opengl等。编译器使用gcc5及以上版本速度会比较快。i5-4460 CPU @ 3.20GHz+8G内存下编译时间大概是2.5个小时。 编译的时候对磁盘空间要求非常非常的大75G ./qt-src/qt-opensource-src-5.6.0(这是还没有完全编译完时候的情况),如果无法接受,就别编译debug版本和examples了。
用户3519280
2023/07/06
1.2K0
linux下编译qt5.6.0静态库
vue项目使用 富文本 封装
我又来了,今天给大家分享一个富文本框的封装,写后台管理也离不开富文本框,我就做了封装,供大家参考,
前端小白@阿强
2020/08/12
1.3K0
HTML5 学习总结(三)——本地存储(localStorage、sessionStorage、WebSqlDataBase、IndexedDB)
HTML5问世以后,前端加入了一个重要的功能,便是本地存储,本地存储可分为4类: Local Storage:总的存储量有所限制,并不能提供真正的检索API,数据的生命期比窗口或浏览器的生命期长,数据
张果
2018/01/03
7.7K0
HTML5 学习总结(三)——本地存储(localStorage、sessionStorage、WebSqlDataBase、IndexedDB)
论egret的坑
这样是会被认为不是用户手动触发的,是会被浏览器默认拦截的,不要写在call里边,但是可以写在settimeout里边
陨石坠灭
2020/01/21
1.6K0
论egret的坑
v-model数据绑定分析
v-model是Vue提供的指令,其主要作用是可以实现在表单<input>、<textarea>及<select>等元素以及组件上创建双向数据绑定,其本质上就是一种语法糖,既可以直接定义在原生表单元素,也可以支持自定义组件。在组件的实现中,可以配置子组件接收的prop名称,以及派发的事件名称实现组件内的v-model双向绑定。
WindRunnerMax
2020/10/26
1.9K0
vue源码分析-v-model的本质
由于v-model和前面介绍的插槽,事件一致,都属于vue提供的指令,所以我们对v-model的分析方式和以往大同小异。分析会围绕模板的编译,render函数的生成,到最后真实节点的挂载顺序执行。最终我们依然会得到一个结论,v-model无论什么使用场景,本质上都是一个语法糖。
yyzzabc123
2022/10/18
1K0
qmake手册(Qt5.9.3)
qmake工具有助于简化跨平台项目的开发构建过程。qmake自动生成Makefiles,这样只需要几行信息就可以创建Makefile。您可以在任何软件项目中使用qmake,无论是否使用Qt编写。
全栈程序员站长
2022/08/31
5.9K0
【QT】:QT(介绍、下载安装、认识 QT Creator)
所谓客户端就是直接和用户打交道的一端从程序,就比如 chrome,cctalk,……
IsLand1314
2024/12/20
4.2K0
【QT】:QT(介绍、下载安装、认识 QT Creator)
阿里前端面试问到的vue问题
虽然文档不建议在应用中直接使用 mixin,但是如果不滥用的话也是很有帮助的,比如可以全局混入封装好的 ajax 或者一些工具函数等等。
bb_xiaxia1998
2022/10/29
9250
websocket+rabbitmq实战
  接到的需求是后台定向给指定web登录用户推送消息,且可能同一账号会登录多个客户端都要接收到消息
老梁
2019/09/10
2.7K1
Qt学习之路_6(Qt局域网聊天软件)
http://www.cnblogs.com/tornadomeet/archive/2012/07/04/2576355.html
bear_fish
2018/09/20
3.4K0
Qt学习之路_6(Qt局域网聊天软件)
相关推荐
Qt Quick中的信号与槽
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验