qt学習コード:信号スロット&カスタム信号スロット
1792 ワード
//1.信号溝eg 1
#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()< });
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()<
}; #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(); }