connect()第五个参数的作用,指定连接方式:默认,队列,直接
    多线程时才有意义
    默认的时候
    如果是多线程,默认使用队列
    如果是单线程, 默认使用直接方式
    队列: 槽函数所在的线程和接收者一样
    直接:槽函数所在线程和发送者一样


connect用于连接qt的信号和槽,在qt编程过程中不可或缺。它其实有第五个参数,只是一般使用默认值,在满足某些特殊需求的时候可能需要手动设置。

Qt::AutoConnection: 默认值,使用这个值则连接类型会在信号发送时决定。如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则自动使用Qt::QueuedConnection类型。

Qt::DirectConnection:槽函数会在信号发送的时候直接被调用,槽函数运行于信号发送者所在线程。效果看上去就像是直接在信号发送位置调用了槽函数。这个在多线程环境下比较危险,可能会造成奔溃。

Qt::QueuedConnection:槽函数在控制回到接收者所在线程的事件循环时被调用,槽函数运行于信号接收者所在线程。发送信号之后,槽函数不会立刻被调用,等到接收者的当前函数执行完,进入事件循环之后,槽函数才会被调用。多线程环境下一般用这个。

Qt::BlockingQueuedConnection:槽函数的调用时机与Qt::QueuedConnection一致,不过发送完信号后发送者所在线程会阻塞,直到槽函数运行完。接收者和发送者绝对不能在一个线程,否则程序会死锁。在多线程间需要同步的场合可能需要这个。

Qt::UniqueConnection:这个flag可以通过按位或(|)与以上四个结合在一起使用。当这个flag设置时,当某个信号和槽已经连接时,再进行重复的连接就会失败。也就是避免了重复连接。

Qt面试题(一)Qt信号槽第五个参数相关推荐

  1. QT信号槽第五个参数

    connect用于连接qt的信号和槽,在qt编程过程中不可或缺.它其实有第五个参数,只是一般使用默认值,在满足某些特殊需求的时候可能需要手动设置. Qt::AutoConnection: 默认值,使用 ...

  2. Qt计算器开发(二):信号槽实现数学表达式合法性检查

    表达式的合法性 由于我们的计算器不是单步计算的,所以我们能够一次性输入一个长表达式.然而假设用户输入的长表达式不合法的话,那么就会引发灾难.所以有必要对于用户的输入做一个限制. 一些限制举例: 比方, ...

  3. 1.QT元对象系统、信号槽概述、宏Q_OBJECT

    一.元对象系统(Meta-Object System) Qt添加C++原本不具备的元对象系统,元对象系统提供了信号槽机制,运行时类型信息和动态属性系统. 元对象系统基于三点: 1.元对象系统为以QOb ...

  4. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.6 自定义信号槽

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gA4y1d7gz 上节课,我们讲解了标准信号槽,标准信号槽中,信号和槽函数,都是 Qt 框架定 ...

  5. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.5 标准信号槽

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1vW4y1676Q 本节讲解信号和槽的概念,以及标准的信号槽 1. 什么是信号槽 1.1 信号 ...

  6. Qt积少成多,QComboBox自定义信号槽

    阶段总结,QComboBox的信号槽连接: 1.默认名称 void on_cmbItemList_currentIndexChanged(const QString &text); 2.指定槽 ...

  7. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节

    简介 本文是<Qt进阶之路>系列文章的特别篇,涛哥在这里讨论Qt信号-槽的实现细节. 上次的文章<Qt实用技能4-认清信号槽的本质>中介绍过,信号-槽是一种对象之间的 通信机制 ...

  8. 【QT|趣谈】最详细的信号槽机制介绍!

    用最有趣的方式解释信号槽通讯机制 1 导语:信号槽的前世今生 2 QT的信号槽 2.1什么是信号槽? 2.2 用严谨的语言解释信号槽 3 信号槽实战 3.1 信号槽实例 4 信号槽plus 4.1 L ...

  9. qt中实现息屏开平mousepress_Qt实用技能5-掌握信号槽使用细节

    目录 (放个目录方便预览.这个目录是从博客复制过来的,点击会跳转到博客) 简介 信号与槽的声明 信号-槽的使用 信号的使用 槽函数的使用 信号-槽的"元调用" 信号和信号的参数 注 ...

最新文章

  1. 软银宣布启动5G Project:全球首家商用Massive MIMO技术
  2. s插件——SlimScroll滚动美化插件
  3. POI实现Excel导出时常用方法说明
  4. WeWork通过向225,000个社区征税来拼命地从Meetup.com榨取现金
  5. centos7安装DHCP服务器
  6. 坦克游戏服务器未响应,《坦克世界》退出战斗 退出战斗卡死解决办法
  7. 刚构桥的优缺点_[中交公规院]预应力连续刚构桥总体设计及主要尺寸
  8. c语言std变量,10-C ++中的变量
  9. [Python] L1-001. Hello World-PAT团体程序设计天梯赛GPLT
  10. 用MDT 2012为企业部署windows 7(四)--创建Deploymentshare共享以及介绍一些选项的具体作用...
  11. 软Raid5,LVM,3T大硬盘纠缠操作的问题
  12. Jsoup爬虫新手一
  13. 怎么用服务器跑matlab程序,服务器上跑matlab程序
  14. x64 - reject driver loading
  15. php调java_php调java接口
  16. java webservice原理_轻松搞懂WebService工作原理
  17. EasyUI 表格制作
  18. Unity4.x UWP版本打包流程
  19. 蓝桥杯真题python B试题 C: 纸张尺寸
  20. Linda Rising:“你相信谁?”

热门文章

  1. 威学一百_涨价通知丨威学一百VIP全年畅学卡价格即将上调!
  2. VCS命令行选项总结简单脚本实例
  3. VMware OVF 协议
  4. 我的RTOS 之二 --Threadx在skyeye上仿真測试(基于2410)
  5. 2.JAVA基础——数据类型、变量及运算符
  6. 电脑linux下载官网下载,Bluestar Linux
  7. lsb算法 java,解决:-bash: lsb_release: command not found办法
  8. 前端 JavaScript 之『防抖』的简单代码实现
  9. ORM框架之Spring Data JPA(二)spring data jpa方式的基础增删改查
  10. SOAP(Simple Object Access Protocol )简单对象访问协议