在Qt中使用三个参数重载的connect函数时,槽函数使用Lambda表达式。如果此时Lambda表达式使用了至少一个上下文对象。就会报pass a context object connect 3th paramter的warning。
例如

connect(selectionModel, &QItemSelectionModel::selectionChanged,[&model](const QItemSelection &selected,const QItemSelection &deselected){/*use model to do something*/})

如果model已经结束了其生命周期(因为是在栈上定义的变量),则会向一个已经已经被删除的对象发送信号,这可能会导致程序的崩溃。所以Qt会报告一个warning,来降低出现崩溃的可能性。所以可以把使用的对象作为第三个参数传递给connect函数(注:如果Lambda里使用了多个上下文对象依旧有程序崩溃的可能性!!!)。

connect(selectionModel, &QItemSelectionModel::selectionChanged,&model,   //3th paramter[&model](const QItemSelection &selected,const QItemSelection &deselected){/*use model to do something*/})

在KDE的开源文档里也有对这一问题的描述。

Qt warning Pass a context object as connect 3th paramter相关推荐

  1. oracle 传递table,将对象类型表从java传递到oracle 8i(Pass table of object type from java to oracle 8i)...

    将对象类型表从java传递到oracle 8i(Pass table of object type from java to oracle 8i) 我需要将一个对象列表(如值表)从java传递给ora ...

  2. Qt 如何实现的 Meta Object

    Qt 如何实现的 Meta Object 2009-11-01 11:57 741人阅读 评论(0) 收藏 举报 qtsignalcallbackobjectclasstable (文章转贴自guil ...

  3. Blender 插件开发 将object设置成bpy.context.object

    公司开始使用blender后一直忙着写插件,最近准备把一些有用的东西写成博客记录一下吧 在使用一些bpy.ops.object下的函数时由于无法传参数,基本默认都是调用bpy.context.obje ...

  4. Qt warning: 构建目录必须和源文件目录为同级目录

    Qt warning: 构建目录必须和源文件目录为同级目录 从一台电脑转移项目到另一电脑, 路径发生变化,重新构建运行时会出现"QT 构建目录必须和源目录为同级目录"提示,解决办法 ...

  5. Qt 原理-MOC(1)Meta Object Compiler

    Qt程序编译两个步骤: 1. qmake 生成Makefile文件,Makefile.Debug, Makefile.Release 主要是通过MOC(Meta Object Compiler) 元对 ...

  6. Qt文档阅读笔记-Object Model初步解析

    对象模型 标准C++对象模型提供了对象范式在运行时的高效性.但是他的一些静态性质在某些领域是不灵活的.在GUI程序中不仅要运行时的高效还需要较高的灵活性.Qt对象模型不急结合了C++运行时的高效并且还 ...

  7. Qt文档阅读笔记-Object Model

    Object Model 标准C++对象模型提供了非常有效的运行时的对象范例.但是他的静态属性在某些领域是不灵活的.图形用户界面的编程领域需要运行时的效率和高等级的灵活.Qt提供了这样能力,通过C++ ...

  8. Qt文档阅读笔记-Object Trees Ownership解析与实例(为何某些程序在被关闭的时候会崩溃)

    目录 官方解析 Construction/Destruction Order of QObjects 博主栗子 继承里面构造函数与析构函数的顺序 在Qt中,object trees里面的创建与析构 [ ...

  9. Qt:warning: The build directory is not at the same level as the source directory

    -1: warning: The build directory is not at the same level as the source directory, which could be th ...

最新文章

  1. linux--memcache的安装和使用(转)
  2. 任铄 计算机操作系统,计算机组成与体系结构-CSDN.PDF
  3. js - 浅拷贝和深拷贝
  4. MySQL和SQL Server数据库基本语句总结(二)
  5. java爬虫自动识别验证码_简单Java爬虫(一)爬取手机号码
  6. Hadoop学习总结(1)——大数据以及Hadoop相关概念介绍
  7. Slim Span UVA - 1395 (并查集)
  8. 那桃林深处最美的风景
  9. VueTreeselect出现unknown解决方法
  10. nodejs连接mysql哪个版本_nodejs连接mysql
  11. Unity3D中Update和FixedUpdate、LateUpdate的区别
  12. 数模美赛准备——Numpy
  13. 鱼骨图分析法实际案例_慧程成功案例汽车行业质量管理系统,提质降本之道
  14. MATLAB基础知识——xlsread
  15. 弱电总包施工组织设计与实施方案
  16. html背景图片半透明写法,CSS实现背景图片透明而文字不透明效果的两种方法
  17. 肠道微生物组如何影响运动能力,所谓的“精英肠道微生物组”真的存在吗?
  18. 【项目总结】ACM Recsys2019
  19. 计算机DNS怎么配置,如何设置计算机dns?电脑dns设置教程
  20. ORA-01012: not logged on处理

热门文章

  1. 利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只。
  2. antd switch 没有根据数据更新
  3. 如何用手机写csdn博客
  4. LeetCode T509 T16 T33 T34 T36 T41 T43 T48 T49
  5. 假如我是儿子——树形动态规划
  6. 【2021-04-02】JS逆向之某查查pe端cookie分析
  7. 《声呐图像处理》---霍冠英
  8. Drying(二分)
  9. golang如何将http请求流转到gin
  10. 检修计算机硬件故障的流程,计算机硬件日常管理维护及故障检修