qt学习代码:信号槽&自定义信号槽

//1.信号槽eg1

#include “mainwindow.h”
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button(“Quit”);
QObject::connect(&button,&QPushButton::clicked,&QApplication::quit);
button.show();

return app.exec();

}

//2.eg2

#include “mainwindow.h”
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button(“Quit”);
QObject::connect(&button,&QPushButton::clicked,
{
qDebug()<<”You clicked me!”;
});

button.show();

return app.exec();

}

//3.自定义信号槽

”newspaper.h”

#ifndef NEWSPAPER_H
#define NEWSPAPER_H

#include
#include
class Newspaper:public QObject
{
Q_OBJECT
public:
Newspaper(const QString &name):m_name(name)
{

}
void send()
{
    emit newPaper(m_name);
}

signals:
void newPaper(const QString &name);
private:
QString m_name;
};
#endif // NEWSPAPER_H

“reder.h”

#ifndef REDER_H
#define REDER_H

#include
#include
#include
class Reder:public QObject
{
Q_OBJECT
public:
Reder(){}

void receiveNewspaper(const QString &name)
{
    qDebug()<<"Receives Newspaper:"<<name;
}

};
#endif // REDER_H

“main.cpp”

#include “mainwindow.h”
#include
#include
#include “newspaper.h”
#include “reder.h”

int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
Newspaper newspaper(“Newspaper A”);
Reder reder;
QObject::connect(&newspaper,&Newspaper::newPaper,&reder,&Reder::receiveNewspaper);
newspaper.send();
return app.exec();
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值