QT信号和槽

一、QT信号槽的概念

  • 类似windows的消息机制
  • 信号函数,只发送不需要知道接收者
  • 槽函数(普通函数),只接收不管通讯
  • QObject来绑定信号和槽

二、QT信号槽的原理

  • 绑定信号函数和槽函数
  • 调用信号函数(将信号写入队列)
  • 主线程从队列中获取信号

三、信号槽的处理主循环

  • QApplication a(argc, argv)
  • 进入主事件循环,等待程序执行结束
  • retrun a.exec()

四、添加信号和槽方法

1. 通过设计器拖动添加

在这里插入图片描述

2.可以通过视图里面的信号槽窗口进行添加。

在这里插入图片描述

3. 代码里面手动添加信号槽

注意:如果手动添加信号槽,必须在添加的类里面增加 Q_OBJECT 的宏,宏本身没有意义,主要标识信号槽。会查找该标识。

  • 手动创建信号 signals:
  • 手动创建槽 public slots:
  • 绑定信号和槽 QObject::connect(信号发送者,发送的信号,信号接收者,槽函数);

4. 不用写connect

Qt信号和槽函数的命名是有规则的,组成为on_对象名_信号,以按钮为例,如果对象名为pushButton,在你在写槽函数的时候按照这种规则,则
在头文件中添加:
private slots:
void on_pushButton_clicked();

在.cpp文件下面的构造函数中就不用写connect了,直接写槽函数的实现就能实现信号和槽的连接。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值