Qt QOpenGLWidget 在不同电脑可能的问题

会存在进入 QOpenGLWidget 页面时候,有些电脑没有问题,有些电脑软件闪退了。可能的原因:

电脑缺少 OpenGL 支持: 如果目标电脑的显卡驱动不支持 OpenGL,或者 OpenGL 版本过低,可能会导致程序崩溃。

解决办法:

  1. 直接用 Qt 的 painter 绘图(继承QWidget 重写 void paintEvent(QPaintEvent *event)
  2. 设置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();
}
posted @ 2025-03-27 09:29  double64  阅读(172)  评论(0)    收藏  举报