Here is my code:
vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New();
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
// this class is reimplemented from VtkInteractorStyleImage
vtkSmartPointer<MyVtkInteractorStyleImage> myInteractorStyle = vtkSmartPointer<MyVtkInteractorStyleImage>::New();
renderWindowInteractor->SetInteractorStyle(myInteractorStyle);
myInteractorStyle->SetImageViewer(imageViewer);
imageViewer->SetupInteractor(renderWindowInteractor);
QVTKWidget *qvtkWidget = this->ptrMainWindow->GetQVtkWidget(viewerId);
qvtkWidget->SetRenderWindow(imageViewer->GetRenderWindow());
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
qvtkWidget->GetRenderWindow()->SetInteractor(imageViewer->GetRenderWindow()->GetInteractor());
vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New();
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
// this class is reimplemented from VtkInteractorStyleImage
vtkSmartPointer<MyVtkInteractorStyleImage> myInteractorStyle = vtkSmartPointer<MyVtkInteractorStyleImage>::New();
renderWindowInteractor->SetInteractorStyle(myInteractorStyle);
myInteractorStyle->SetImageViewer(imageViewer);
imageViewer->SetupInteractor(renderWindowInteractor);
QVTKWidget *qvtkWidget = this->ptrMainWindow->GetQVtkWidget(viewerId);
qvtkWidget->SetRenderWindow(imageViewer->GetRenderWindow());
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
qvtkWidget->GetRenderWindow()->SetInteractor(imageViewer->GetRenderWindow()->GetInteractor());
To copy to clipboard, switch view to plain text mode
When I use QVtkWidget as a mainwindow child then the interactions are working perfectly. But, I need to put three QVtkWidgets. So, I used QTabWidget inside mainwindow and put three QVtkWidgets in multiple tabs of QTabWidget. It load the data, but the interactions become jam.
Any help.
Bookmarks