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

Qt 信号槽

关于Qt 信号槽的笔记

信号槽依赖于Qt自身的循环,每个线程都有自身的一个循环

测试代码如下

QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent): QWidget(parent), ui(new Ui::QtWidgetsApplication1Class())
{ui->setupUi(this);th1 = new QThread;ti1 = new QTimer;th1->moveToThread(th1);//ti1->moveToThread(th1);ti1->setInterval(10);th1->start();//QTimer::singleShot(0, th1, [&]() {ti1->start();//});connect(ti1, &QTimer::timeout, th1, [=]() {QThread::msleep(100);qDebug() << "1111" << QThread::currentThreadId;});QTimer::singleShot(1000, this, [&]() {//qDebug() << "msleep" << QThread::currentThreadId;//QThread::msleep(5000);ti1->stop();qDebug() << "quit" <<QThread::currentThreadId;});}

总结

  • 当信号发送线程和槽函数执行线程都同属于同一个线程时,槽函数执行速度慢于信号间隔,则在槽函数执行期间应该发送的信号实际上是被忽略的,并不会被放入事件队列中
  • 当信号与槽函数属于两个线程时,槽函数执行速度慢于信号间隔,则信号会被放入事件队列中,不断的调用槽函数,直到信号用完
  • 当信号线程阻塞时,信号也会被阻塞,槽函数也会因为没有信号而不执行

相关文章:

  • 【学习学习】学习金字塔
  • IIS上部署.netcore WebApi项目及swagger
  • 行为型-观察者模式
  • php常用设计模式应用场景及示例
  • 超实用!免费软件站大盘点,总有一款适合你
  • 【兆易创新GD32H759I-EVAL开发板】 TLI(TFT LCD Interface)用法详细介绍
  • MySQL调优之SQL语句
  • 从历年315曝光案例,看APP隐私合规安全
  • el-form 的表单校验,如何验证某一项或者多项;validateField 的使用
  • 面试经典-34-验证回文串
  • Github主页设置贪吃蛇详细教程
  • 对AQS的理解
  • coingecko获取token price --php版
  • PTA模拟+数学分析
  • Linux中的文件类型
  • Google 是如何开发 Web 框架的
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • flask接收请求并推入栈
  • JavaScript HTML DOM
  • JS 面试题总结
  • magento2项目上线注意事项
  • node.js
  • PHP 7 修改了什么呢 -- 2
  • Sass 快速入门教程
  • Vue2.0 实现互斥
  • 京东美团研发面经
  • 马上搞懂 GeoJSON
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 数组的操作
  • 小程序开发中的那些坑
  • 译自由幺半群
  • 追踪解析 FutureTask 源码
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ###项目技术发展史
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • #预处理和函数的对比以及条件编译
  • $.ajax,axios,fetch三种ajax请求的区别
  • (2)nginx 安装、启停
  • (Forward) Music Player: From UI Proposal to Code
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (七)c52学习之旅-中断
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • **python多态
  • 、写入Shellcode到注册表上线
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .libPaths()设置包加载目录
  • .NET 4.0中的泛型协变和反变
  • .NET Core中的去虚