我不能在QT中使用任何类型的vtk 2D图表而不会收到错误:
“一般警告:在vtkContextDevice2D.cxx中,第31行错误:找不到对'vtkContextDevice2D的替代”。
对此的讨论很少,几乎所有建议都是升级qt / vtk,但是这些建议已经使用很久了,我使用的是最新版本。
这也无济于事:

include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
信息:64位计算机上的Win64,vtk8.2.0,Qt5.13.0,使用cmake3.15.0在MCVS2017(Release x64)中编译/内置
(其他一切都可以正常工作,即使使用vtk进行3D渲染也可以)
码:
view->SetInteractor(this->qvtkWidgetRight->GetInteractor());
this->qvtkWidgetRight->SetRenderWindow(view->GetRenderWindow());
What the error produces

最佳答案

当我运行以下示例时,我遇到了类似的问题:QtBarChart,并通过与这些vtk libraries链接来解决了此问题:

find_package(VTK COMPONENTS
  vtkChartsCore
  vtkCommonCore
  vtkCommonDataModel
  vtkInteractionStyle
  vtkRenderingContext2D
  vtkRenderingContextOpenGL2
  vtkRenderingCore
  vtkRenderingFreeType
  vtkRenderingGL2PSOpenGL2
  vtkRenderingOpenGL2
  vtkViewsContext2D
  QUIET


看来我错过了一些图书馆。

10-06 01:54