在 QVTKWidget 渲染器中添加和删除 vtkChartXY/vtkContextView
Add and remove vtkChartXY/vtkContextView within a QVTKWidget renderer
我目前有一个Qt MainWindow
,它包含许多控件,包括QVTKWidget
。我可以使用vtkContextView
轻松地将vtkChartXY
对象添加到QVTKWidget
:
vtkSmartPointer<vtkContextView> m_2Dview = vtkSmartPointer<vtkContextView>::New();
m_2Dview->SetRenderWindow(this->QVTKWidget->GetRenderWindow());
但是,一旦我把它放在QVTKWidget
,我就找不到返回3D视图的方法。我尝试使用vtkContextActor
,但它导致了交互问题。但是,如果vtkContextActor
是要走的路,我愿意尝试任何建议。
我为解决这个问题所做的是,在先存储vtkRenderer
指针后,通过从vtkRenderWindow
的指针上删除vtkrenderer
来重置vtkrenderwindow
上的vtkrenderer
,然后将我存储的渲染器添加回vtkRenderWindow
。
这至少为我重置了视图,下面是我使用的代码片段。
AnalysisWindow
是我指向实际vtkRenderer
的指针。
if(AnalysisWindow != NULL)
{
vtkSmartPointer<vtkRenderWindow> win;
win = AnalysisWindow->GetRenderWindow();
win->RemoveRenderer(AnalysisWindow);
win->AddRenderer(AnalysisWindow);
}
相关文章:
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 使用函数"remove"删除重复元素
- 如何从多映射中删除特定的重复项
- 运算符C++ "delete []"仅删除 2 个前值
- 删除指向指针的指针是运行时错误吗
- 将指针设置为"nullptr"并不能防止双重删除?
- 为什么示例代码访问IUnknown中已删除的内存
- 如何通过 getter 函数删除矢量的元素?
- 从控制台中删除最后打印的元素
- C++中的线程安全删除
- 如何从存储在std::映射中的std::集中删除元素
- 在 QVTKWidget 渲染器中添加和删除 vtkChartXY/vtkContextView