QApplication的消息重载
时间: 2018-09-07来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
1、定义一个c++类:MyApplication
MyApplication.h #ifndef MYAPPLICATION_H #define MYAPPLICATION_H #include <QApplication> class MyApplication:public QApplication { public: MyApplication(int argc, char*argv[]):QApplication(argc, argv) { } bool notify(QObject *, QEvent *); }; #endif // MYAPPLICATION_H
MyApplication.cpp #include "myapplication.h" #include <QApplication> #include <QEvent> #include <QDebug> bool MyApplication::notify(QObject *object, QEvent *event){ if(this->topLevelWidgets().count()>0) { QWidget* mainWnd = this->topLevelWidgets().at(0); if(object==(QObject*)mainWnd && event->type() == QEvent::Move) { // do ... qDebug() << "mainwnd is clicked"; } } return QApplication::notify(object, event); }

main.cpp #include "widget.h" #include "myapplication.h" #include <QApplication> int main(int argc, char *argv[]) { MyApplication a(argc, argv); Widget w; w.show(); return a.exec(); }

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行