问题
使用QOpenGLWidget窗口崩溃。
问题源码
#include <QApplication> #include <QWidget> #include <QOpenGLWidget> int main(int argc, char *argv[]) { QApplication a(argc, argv); QOpenGLWidget w; w.show(); return a.exec(); }
解决
添加设置opengl版本的源码,修改后源码如下:
#include <QApplication> #include <QWidget> #include <QOpenGLWidget> int main(int argc, char *argv[]) { QApplication a(argc, argv); QSurfaceFormat format; // format.setDepthBufferSize(24); // format.setStencilBufferSize(8); format.setVersion(4, 3); // 关键是这一句,设置opengl版本号 // format.setProfile(QSurfaceFormat::CoreProfile); QSurfaceFormat::setDefaultFormat(format); QOpenGLWidget w; w.show(); return a.exec(); }
测试成功