信号和槽函数的使用
1. 编写基本的 信号和 槽函数
1> 自定义的信号函数只需要声明,不需要定义
2> 自定义的类放在头文件中,我把类放在cpp文件中,会编译失败
3> 需要关注特殊的关键字,Q_OBJECT signals slots SIGNAL SLOT
$cat work.h #include <QObject> #include <iostream> using namespace std; class Send: public QObject { Q_OBJECT signals: void mySig(); // 只用声明, moc 会定义 }; class Recv: public QObject { Q_OBJECT public slots: void mySlot(); }; $cat main.cpp #include <QApplication> #include "work.h"
void Recv::mySlot() {
cout << "槽函数被调用" << endl;
}
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
Send s; Recv r; QObject::connect(&s, SIGNAL(mySig()), &r, SLOT(mySlot())); /* emit*/ s.mySig(); return app.exec(); }

浙公网安备 33010602011771号