qt信号和槽链接的接入与断开

目录

disconnect使用方式举例:

控件1

GUI控件创建+代码实现标题更改

"转到槽"

标题设置+链接日志

控件2

GUI创建+代码实现标题更改

不使用"转到槽"直接选项

功能实现:


一定情况下,++槽的参数个数可以多于信号的参数个数++ ,但是信号的参数个数绝对不能多于槽的参数个数。基于此qt实现了多对多,即 信号 和 槽 的对应关系是一个信号可以对应多个槽,一个槽可以容纳多个信号,不过这种设计很少用,++日常中大多数就是一对一的关系使用++。

gitee.com

设计目标:

复制代码
//实现目标:2个按钮均对应不同标题的修改。为防止标题可被多个槽函数修改的情况使用disconnect实现,当点击第二个时切断第一个槽函数的链接。

disconnect使用方式举例:

点击后断开链接

disconnect(ui->pushButton, &QPushButton::clicked, this, &Widget::on_pushButton_clicked );

控件1

GUI控件创建+代码实现标题更改

"转到槽"

第一个控件直接使用"转到槽":

与this的关系直接建立,无需手动再链接。 // errr

标题设置+链接日志

控件2

GUI创建+代码实现标题更改

不使用"转到槽"直接选项

功能实现:

必须建立链接:

复制代码
connect(ui->pushButton_2,&QPushButton::clicked, this, &Widget::on_pushButton_clicked2);
相关推荐
mqiqe几秒前
AgentScope Java Harness:2. 上下文压缩:让长期 Agent 永不“失忆“
java·开发语言
Aurorar0rua几秒前
CS50 x 2024 Notes Memory - 03
c语言·开发语言·学习方法
梦想的旅途24 分钟前
企业微信API实战:Python自动化消息推送
java·前端·python·自动化·企业微信
恋猫de小郭4 分钟前
Flutter 3.47 发布,快来看看有什么更新吧
android·前端·flutter
程序员黑豆5 分钟前
Java 内存存储机制:基本数据类型 vs 引用数据类型
前端·ai编程·全栈
爱敲代码的憨仔15 分钟前
BM25全文检索
开发语言·python·全文检索
90后的晨仔16 分钟前
uni-app 三方库与插件管理体系全解析:从原生开发者视角彻底讲透
前端
程序员爱钓鱼19 分钟前
Rust 生命周期案例详解:从编译错误到真实业务场景
前端·后端·rust
90后的晨仔1 小时前
uni-app 跨端布局与适配技术指南
前端
油丶酸萝卜别吃6 小时前
utils.js 说明文档
开发语言·javascript·ecmascript