首页 > 解决方案 > Qt + VTK 无法在 Surface Pro X 上运行

问题描述

我有一个过去一年一直在处理的应用程序。它可以在各种机器(包括 Mac OS)上正常构建和运行。我刚拿到 Surface Pro X,很惊讶在QVTKOpenGLWidget. 该应用程序运行,但是当我打开一个带有 .dll 的窗口时QVTKOpenGLWidget,它崩溃并在 Qt5Gui.dll 中出现访问冲突错误。

我从更改QVTKOpenGLWidgetQVTKOpenGLNativeWidget似乎对情况有所改善,但我无法渲染任何东西。只要我不添加任何演员或调用渲染,窗口就会打开并保持打开状态。

从查看日志来看,Qt 似乎在创建上下文方面存在问题。VTK 日志不断弹出以下错误:

vtkGenericOpenGLRenderWindow (0CAD3408):GLEW 无法初始化:缺少 GL 版本

我已经尝试了以下没有积极的结果:

// First attempt
auto format = QVTKOpenGLWidget::defaultFormat();
format.setProfile(QSurfaceFormat::CompatibilityProfile);
QSurfaceFormat::setDefaultFormat(format);

// Second attempt
QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());

有没有人想出如何让这个工作?我认为问题不是特定于 Surface Pro X,而是任何 Windows GPU 驱动程序。

标签: windowsqtopengl-esvtk

解决方案


推荐阅读