Qt QOpenGLWidget 在不同电脑可能的问题
会存在进入 QOpenGLWidget 页面时候,有些电脑没有问题,有些电脑软件闪退了。可能的原因:
电脑缺少 OpenGL 支持: 如果目标电脑的显卡驱动不支持 OpenGL,或者 OpenGL 版本过低,可能会导致程序崩溃。
解决办法:
- 直接用 Qt 的 painter 绘图(继承QWidget 重写
void paintEvent(QPaintEvent *event)) - 设置
QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);软件渲染模式,大概意思是使用 CPU 进行计算渲染,速度可能就慢了吧。(继承 QOpenGLWidget,重写void QpaintGL())
如下,在软件启动时设置:
int main(int argc, char *argv[])
{
// 设置使用软件渲染模式
QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
QApplication a(argc, argv);
QAppSetup w;
w.show();
return a.exec();
}
浙公网安备 33010602011771号