当前位置: 首页 > 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()两个可以让同一个信号被两个槽函数执行

http://www.dtcms.com/a/205929.html

相关文章:

  • 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. 二叉树所有路径的迭代解法:栈的妙用与类型设计深度解析
  • Enhancing Relation Extractionvia Supervised Rationale Verifcation and Feedback
  • Starrocks的CBO基石--统计信息的来源 StatisticAutoCollector
  • Vue 3.0学习目录
  • 制作一款打飞机游戏54:子弹编辑UI
  • SQLite 创建表
  • Axios中POST、PUT、PATCH用法区别
  • 骰子游戏(2023睿抗省赛)
  • wireshark: Display Filter Reference
  • MqSQL
  • 《黄帝内经》数学建模与形式化表征方式的重构