由于显卡的差异,有时候在创建QOpenGLWidget时需要初始化显卡
第一次创建QOpenGLWidget失败
#include "QtGuiApplication2.h"
#include
#include
int main(int argc, char *argv[])
{
// QSurfaceFormat format;
// format.setDepthBufferSize(24);
// format.setStencilBufferSize(8);
// format.setVersion(4, 3);
// format.setProfile(QSurfaceFormat::CoreProfile);
// QSurfaceFormat::setDefaultFormat(format);QApplication a(argc, argv);QOpenGLWidget w;w.show();return a.exec();
}
运行后崩溃

如果出现上述问题,可以尝试把注释打开在运行

源码如下:
#include "QtGuiApplication2.h"
#include
#include
int main(int argc, char *argv[])
{QSurfaceFormat format;format.setDepthBufferSize(24);format.setStencilBufferSize(8);format.setVersion(4, 3);format.setProfile(QSurfaceFormat::CoreProfile);QSurfaceFormat::setDefaultFormat(format);QApplication a(argc, argv);QOpenGLWidget w;w.show();return a.exec();
}
如果还出现问题,可以改变版本号试试