自己重写了一个QApplication,编译没错,为什么运行时会出现QWidget::create: Failed to create window ()
myapp.h
#ifndef MYAPP_H
#define MYAPP_H
#include <QApplication>
#include <windows.h>
class MyApp : public QApplication
{
Q_OBJECT
public:
MyApp(int &argc, char **argv);
~MyApp();
virtual bool winEventFilter(MSG *msg, long *result);
signals:
void getMsg();
};
#endif // MYAPP_H
myapp.cpp
#include "myapp.h"
MyApp::MyApp(int &argc, char **argv) : QApplication(argc, argv){
}
MyApp::~MyApp()
{
}
bool MyApp::winEventFilter(MSG *msg, long *result)
{
if(msg->hwnd)
{
emit getMsg();
return true;
}
else
{
return false;
}
}
main.cpp
#include <QtGui>
#include "mywidget.h"
#include "myapp.h"
int main(int argc, char *argv[])
{
// QApplication a(argc, argv);
MyApp app(argc,argv);
MyWidget w;
w.show();
// QObject::connect(&a,SIGNAL(getMsg()),&w,SLOT(msgGet()));
return app.exec();
}
MyWidget是自己写的一个界面类。
编译通过,就是运行时出错~~界面无法创建,不用自己的myapp就可以。