创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

c语言内容💖:
专栏:c语言之路重点知识整合
信号是一个事件的发生,槽函数则是对这个事件的响应
信号和槽可以看作是观察者模式,当一个对象内部发生变化,发出信号后,其他对象可以通过 connect连接这个信号,用于接收通知,并定义一个槽函数对发出的信号做出响应
包含 头文件,传输数据的两个类继承于 QObject
signals 关键字来声明信号(不必实现函数体)Q_EMIT发送信号connect函数连接信号和槽示例:
发送数据类:
//Sender.h
#include
#include
class Sender : public QObject
{
Q_OBJECT
signals:
//声明信号
void sendMessage(QString message);
private:
Sender sender;
};
//Sender.cpp
void send()
{
//发送信号
Q_EMIT sendMessage("TianXi Studio");
}
接收数据类:
//Receiver.h
#include
#include
class Receiver : public QObject
{
Q_OBJECT
public slots:
void receiveMessage(QString message)
{
qDebug() << "Received message: " << message;
}
private:
Sender* sender;
};
//Receiver.cpp
Receiver::Receiver(QObject *parent) : QObject(parent)
{
//构造函数
//链接信号和槽
QObject::connect(sender, SIGNAL(sendMessage(QString)), this, SLOT(receiveMessage(QString)));
}
//槽函数
receiveMessage(message);
信号和槽可以一对一 、一对多和多对一

| 大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
| 大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |