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

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

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

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

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

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

qt, connect参数,Qt::DirectConnection,Qt::QueuedConnection相关推荐

  1. Qt connect有第5个参数你知道吗?

      Qt开发中信号槽是常用的技术,正常使用时都是4个参数,很少用到第5个,下面来看看connect的声明:   第五个参数是连接类型,声明如下: enum ConnectionType {AutoCo ...

  2. Qt connect 第五个参数

    一,Qt connect 函数原型如下,第五个(5种)参数根据接收者和发送者是否在同一个线程不同 QObject::connect(const QObject *sender, const char ...

  3. qt槽函数如何传递多个参数_【Qt】信号和槽对值传递参数和引用传递参数的总结...

    在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...

  4. qt connect函数_Qt官方示例广播发送器

    ❝ 本示例使用Qt Network API演示如何通过本地网络向多个客户端广播消息. ❞   总结了下该例子的使用方法: 创建UDP套接字. udpSocket = new QUdpSocket(th ...

  5. Qt configure 参数不完全说明

    只需要加个 -fast参数就ok了.其他参数视自己情况而定,比如你不需要qt3支持可以添加-no-qt3support,或者不需要webkit插件 -no-webkit 配置参数选项: 前面是*号的表 ...

  6. qt mysql 系统时间_使用QT和参数在SQLite数据库中插入日期时间

    我想从C++/QT应用程序执行插入到SQLite数据库. 我想要插入数据的表格中的一列是datetime(yyyy-mm-dd hh:mm:ss).使用QT和参数在SQLite数据库中插入日期时间 我 ...

  7. Qt connect()的第五种重载[=](){}

    Qt connect()的第五种重载[=](){} 进行网络相关编程时,需要使用信号和槽,碰到一个={}作为槽函数的语句. [用途]实现函数内部的信号接收. [原语句] connect(tcpSock ...

  8. qt configure参数配置介绍

    qt configure参数配置介绍 ================================== ====全文是按照./configure -help来翻译的======== ======= ...

  9. QT 基础知识一(QT安装、创建项目、常用窗口控件使用、信号与槽机制讲解)

    QT概念 Qt:Qt是一个跨平台的C++框架(C++库),Qt除了支持界面设计(GUI编程),还封装了与网络编程.多线程.数据库连接.视频音频等相关的功能. ctrl 撤销(返回上一步) 市面常见的G ...

  10. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...

最新文章

  1. ubuntu 14.04 安装 vmware 10 X64 后无法启动解决方法
  2. 记一次MySQL AUTO_INCREMENT的故障
  3. php 编程风格,PHP程序员的自我修炼:PHP编程风格_PHP教程
  4. 印度电工,真牛!上天入海,无所不能...
  5. android webview 图表,Android WebView 无法正常显示网页图表
  6. 用 Python脚本实现数据库数据恢复
  7. easypoi导出数值型_解决EasyPoi导出Excel金额数值类型
  8. Spring Security OAuth2.0_实现分布式认证授权_搭建网关工程_Spring Security OAuth2.0认证授权---springcloud工作笔记151
  9. C++学习书籍推荐《The C++ Standard Library 2nd》下载
  10. android 取出list第一页数据_Android传递ListObject的用法
  11. php $表达式,PHP表达式概念及实例详解
  12. 绪论-第1章-《数据结构习题集》答案解析-严蔚敏吴伟民版
  13. 计算机信息网络国际联网安全保护管理办法
  14. java中的字符串池
  15. 服务器端查看图片库 eog
  16. 使用redis存储全球IP库
  17. [C++]H106OJ-第二周练习总结
  18. ChatGPT办公应用:制作PPT大纲
  19. 北鲲云超算平台为生命科学的发展赋能,24小时完成10亿规模分子库筛选全流程
  20. 颜色的前世今生13·RGB显色系统详解(下)

热门文章

  1. ai钢笔工具怎么描线_AI中钢笔工具绘图的实战操作技巧!(干货满满)
  2. python office库_python库编程.os平台.office平台
  3. 小米SN保修_首次体验小米手机官方售后全程回顾:维修速度快服务态度好
  4. JAVA入门级教学之(continue)
  5. laravel 分词搜索匹配度_搜索引擎工作原理
  6. 计算机背景为什么总是黑色,电脑背景变成黑色的了是为什么
  7. tcp报文格式_34.TCP取样器
  8. 微软私有云解决方案_微软发布电信云平台 ,互联网巨头争夺5G网络商机
  9. python 支付宝个人账单_金融支付财务融合业务-实践分享1:订单、账单、交易流水、账套知识解构、原理解析...
  10. 【LeetCode笔记】253. 会议室 II(Java、偏数学)