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

简说Qt信号和槽

目录

信号和槽是什么

Qt中的connect

使用信号和槽的前提

信号和槽关联的两种方式

自定义信号和自定义槽

​编辑

触发自定义信号 

disconnect 断开信号和槽的连接


信号和槽是什么

我们写的 GUI程序,就是为了让用户操作的,就是要和用户进行交互,这个过程中,就需要关注用户的具体操作是什么?

说到信号,信号源,信号类型,信号的处理方式,与Linux中的信号异曲同工之妙,

槽,本质上就是回调函数,比如C语言中的qsort函数,STL中的仿函数,lambda函数,信号处理函数,线程入口函数,epoll的基于回调的机制。

Qt中的connect

Qt中的connect和网络中的connect没有任何关系,Qt中的connect是用来实现信号和槽之前的多对多关系。

使用信号和槽的前提

如果某个类想要使用信号或者槽,就必须要在类的最开始引入Q_OBJECT这个宏。

信号和槽关联的两种方式

connect(哪个空间发出的信号,啥信号,谁处理这个信号,处理方式是什么);

ui界面右键控件,转到槽:

第二种方式,qmake生成的ui_weight.h中,有下面这个方法,他的作用是启用用名称连接信号和槽

QMetaObject::connectSlotsByName(Widget);

 

自定义信号和自定义槽

public slots:

public signals:

 

 自定义槽函数可以使用lambda函数。

触发自定义信号 

通过emit关键字手动触发信号

disconnect 断开信号和槽的连接

connect()两个可以让同一个信号被两个槽函数执行

相关文章:

  • Flink中Kafka连接器的基本应用
  • Qt5、C++11 获取wifi列表与wifi连接
  • 论文流程图mermaid解决方案
  • Java集合框架深度剖析:结构、并发与设计模式全解析
  • Qt C++图书管理系统
  • 轴承与螺母表面缺陷数据集
  • PostgreSQL跨数据库表字段值复制实战经验分
  • DAY8字典的简单介绍
  • 30.第二阶段x64游戏实战-认识网络数据包发送流程
  • 深入了解linux系统—— 文件系统
  • 即插即用性能提升技巧:YOLOv8集成OREPA卷积的5个关键步骤(附精度/速度对比)
  • Java大厂面试:JVM调优、高并发订单处理与大数据服务场景解析
  • 【补题】The 2021 ICPC Asia Nanjing Regional Contest Problem J. Xingqiu’s Joke
  • 使用 Navicat 17 for PostgreSQL 时,请问哪个版本支持 PostgreSQL 的 20150623 版本?还是每个版本都支持?
  • 【Redis】三、在springboot中应用redis
  • 第十周作业
  • 5月21日学习笔记
  • C# 使用 Source Generation 提升 System.Text.Json 性能
  • 错误: gdalbuildvrt 命令未找到————的问题
  • LeetCode 257. 二叉树所有路径的迭代解法:栈的妙用与类型设计深度解析
  • 微信公众平台人工电话/网站播放视频速度优化
  • 口碑好的邯郸网站建设/浙江疫情最新消息
  • 灵宝超市建设管理局信访网站/百度极速版
  • 迁西个人网页设计制作软件/苏州关键词seo排名
  • 汽车城网站建设方案/淘大象关键词排名查询
  • 重庆网站建设吧/企业管理软件