若该文为原创文章,转载请注明原文出处


问题

  使用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();
}



测试成功

  关于 Qt使用QOpenGLWidget运行时崩溃 的解决方法_Qt崩溃



若该文为原创文章,转载请注明原文出处