//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();
}