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

【Qt】信号和槽(三) (断开连接和lambda函数)

信号与槽断开连接

使用disconnect函数,与connect的用法类似。
示例:



按过按钮二后:

实际开发中disconnect的使用较少,大部分情况是把信号和槽连接好后就不再关心。这里用disconnect的场景是主动断开当前信号所连接的槽函数,然后信号再重新连接绑定到另一个槽函数上。
若不断开,则会有两个日志的打印。

lambda表达式定义槽函数

lambda表达式本质是一个匿名函数,主要在回调函数中进行使用。通常是一次性的,也可以用auto识别函数类型,延长生命周期进行调用。
示例:

ambda除了可以按照传值捕获[button],[=]的方式捕获变量,还能按照传引用捕获[&]的方式捕获变量,但Qt中很少用传引用的方式=,因为在Qt中捕获的变量一般是各种控件的指针,指针变量传值或传引用都可以。按引用捕获有致命问题。
按引用捕获的变量,需要关注其生命周期。例如,局部指针变量 button 在构造函数结束时就被销毁,可能被置为 nullptr。若 lambda 按引用捕获了 button,构造函数结束后 button 已为空。此时用户点击按钮触发 lambda,访问空指针会导致程序崩溃。

因此,按引用捕获风险大。按值捕获会拷贝指针指向的堆地址,即使外部指针被置空,lambda 内部的拷贝仍然有效。实际开发中,建议尽量使用值捕获。

http://www.jsqmd.com/news/987127/

相关文章:

  • 2026年6月宿迁本地黄金铂金白银金条回收靠谱门店 TOP5 榜单+实体老店联系方式 + 详细地址 - 中业金奢再生回收中心
  • Redis 新手入门:从命令行掌握 String、Hash、List、Set、ZSet 和常用操作
  • Multi-Agent 系统扩容:水平扩展 vs 垂直扩展的选择与配置
  • 详解HTTP中的URL
  • 2026年厦门ISO认证与数字化转型咨询服务商对标评测 - 优质企业观察收录
  • PinForge:一款通用的 MCU 图形化引脚配置器
  • 爽WiFi产品拆解:一个香港WiFi蛋品牌的服务设计逻辑|选型参考
  • 金价还在跌!2026 杭州紧急行情:现在卖就是止损,再等可能更低 - 奢侈品回收评测
  • NSK BSS50100-2E 超高速滚珠丝杠技术详解
  • 小程序毕设选题推荐:基于springboot+微信小程序的文化旅游小程序系统文化景区旅游微信小程序【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 03-状态管理与路由——01-Context + useReducer 模式
  • 【设计模式-策略模式】
  • 徐州懂事星球推荐门店
  • AI 时代,IT 职业教育如何为学习者赋能?——职坐标的 AI+教育实践
  • 倒置显微镜生产厂家推荐|蔡司、徕卡、尼康与实了个验集团对比分析 - 实了个验
  • 2026山西地区配电箱厂家综合实力排行及选型参考指南 - 起跑123
  • 【INACCESSIBLE_BOOT_DEVICE】安装 Config Tool 后 Windows 蓝屏,最终通过 VMware 虚拟机解决
  • 【计算机毕业设计案例】基于springboot+微信小程序的文化旅游小程序系统(程序+文档+讲解+定制)
  • 影刀RPA完全指南_非技术人员学习自动化的心智模型
  • 网安学习笔记一阶段08——计算机网络基础安全3
  • AI产品经理 vs AI研发工程师:大厂为什么开始招中学生了?
  • 2026武汉防水补漏哪家靠谱?正规公司排名及避坑价格指南 - 苏易修缮
  • 什么是 AI 算能基础设施?企业如何选型
  • 影刀RPA实操指南_1688商品数据自动化采集
  • 深入解析LPC55S3x:从Flexcomm到EdgeLock,如何高效利用外设与安全子系统
  • Windows 10/11 下用 Conda 搞定 MFA 2.0 语音对齐,保姆级避坑指南(含网络问题解决)
  • VScode cmake mingw 使用opencv调用笔记本摄像头进行人脸识别,并生成动态库、静态库
  • 2026年执业药师资格考试高频易错题库精编(第005卷)
  • 2026全球AI大模型大战:OpenAI冲击IPO,Meta豪赌超级智能,AI Agent时代来了
  • 从 PMF 到规模化:AI Agent Harness Engineering 创业全生命周期路线图