1

MainWindow私は現在、を含むいくつかのコントロールを保持するQt を持っていQVTKWidgetます。に を使用してvtkChartXYオブジェクトを簡単に追加できます。vtkContextViewQVTKWidget

vtkSmartPointer<vtkContextView> m_2Dview = vtkSmartPointer<vtkContextView>::New();
m_2Dview->SetRenderWindow(this->QVTKWidget->GetRenderWindow());

ただし、一度QVTKWidget取得すると、3D ビューに戻る方法が見つかりません。を使用してみましたvtkContextActorが、相互作用の問題が発生しました。ただし、これが進むべき道である場合は、提案を試してみたいと思っていvtkContextActorます。

4

1 に答える 1

2

これを解決するために私がしたことは、最初にポインターを保存した後に のポインターからを削除して をリセットvtkrendererし、次に保存したレンダラーを に追加することでした。vtkrenderwindowvtkrenderervtkRenderWindowvtkRenderervtkRenderWindow

これにより、少なくともビューがリセットされます。以下は、私が使用したスニペットです。

AnalysisWindowは、実際の へのポインタvtkRendererです。

if(AnalysisWindow != NULL)
{
    vtkSmartPointer<vtkRenderWindow> win;
    win = AnalysisWindow->GetRenderWindow();
    win->RemoveRenderer(AnalysisWindow);
    win->AddRenderer(AnalysisWindow);
}
于 2012-08-27T16:31:30.073 に答える