版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangfahe1/article/details/84034636
我也是被自己逼疯了,中午还在一边运行程序,一边写博客。休息了一会,再运行程序,发现好好地程序居然跑不起来(估计也是去休息了),居然出现这个bug。
于是下午进行了各种调试,注释代码,最终确定了问题在QOpenGLWidget里面。但是这个我也动不了,于是再次找原因,找啊找,找了一下午,突然灵光一闪想起来以前写的代码,貌似在使用QOpenGL之前貌似还要写一段代码。于是又去找以前写的代码,终于功夫不负有心人,找到了。原来是在使用QOpenGL没有初始化。(左边是没有初始化QOpenGL,右边为正确代码)
添加下面这段代码之后,程序终于正常启动了。
QSurfaceFormat format;
format.setDepthBufferSize(24);
format.setStencilBufferSize(8);
format.setVersion(3, 2);
format.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(format);