我想要在QApplication中实现事件的处理等功能,所以子类化了QApplication,准备重新实现一些功能。
但是当我在main中使用新的MyApplication时,我创建窗口后,如果使用resize(不在main中使用resize无问题),就会莫名其妙的段错误。
补充一下,我做了若干测试,我又发现,如果去掉工程文件中的CONFIG += debug也不会出现段错误。
为了说明问题,我写了一个测试例子,一样的有问题。贴出测试的代码如下:
//GesApplication.h
#include <QApplication>
class GesApplication : public QApplication
{
public:
GesApplication(int argc, char *argv[]);
};
//GesApplication.cpp
#include "GesApplication.h"
GesApplication::GesApplication(int argc, char *argv[]) :
QApplication(argc,argv)
{
}
//main.cpp
#include <QtGui/QApplication>
#include <QMainWindow>
#include "GesApplication.h"
int main(int argc, char *argv[])
{
GesApplication a(argc, argv);
QMainWindow mainWindow;
mainWindow.resize(800,600);//出问题的句子
mainWindow.show();
return a.exec();
}
请问这是什么原因呢?