qvtkwidget的问题求助啊
vtk吧
全部回复
仅看楼主
level 1
小笼bao🐷 楼主
我把qvtkwidget的renderwindow改为了imagereader的renderwindow。
我想在imagereader的renderwindow上加一个widget 。
我加了但是整个Qt程序都没有弹出了。
2016年10月02日 10点10分 1
level 1
小笼bao🐷 楼主
2016年10月02日 10点10分 2
level 1
小笼bao🐷 楼主
ui.setupUi(this);
vtkSmartPointer<vtkDICOMImageReader> reader =
vtkSmartPointer<vtkDICOMImageReader>::New();
reader->SetDirectoryName("D://DICOM/S427870/S10");
reader->GlobalWarningDisplayOff();
reader->Update();
vtkSmartPointer<vtkImageViewer2> imageViewer =
vtkSmartPointer<vtkImageViewer2>::New();
imageViewer->SetColorLevel(200);//设置窗宽窗位,
imageViewer->SetColorWindow(1200);
imageViewer->SetInputConnection(reader->GetOutputPort());
imageViewer->SetSize(500,500);
vtkSmartPointer<vtkTextProperty> usageTextProp = vtkSmartPointer<vtkTextProperty>::New();
usageTextProp->SetFontFamilyToCourier();
usageTextProp->SetFontSize(14);
usageTextProp->SetVerticalJustificationToTop();
usageTextProp->SetJustificationToLeft();
vtkSmartPointer<vtkTextMapper> usageTextMapper = vtkSmartPointer<vtkTextMapper>::New();
usageTextMapper->SetInput("- Slice with mouse wheel\n or Up/Down-Key\n- Zoom with pressed right\n mouse button while dragging");
usageTextMapper->SetTextProperty(usageTextProp);
vtkSmartPointer<vtkActor2D> usageTextActor = vtkSmartPointer<vtkActor2D>::New();
usageTextActor->SetMapper(usageTextMapper);
usageTextActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedDisplay();
usageTextActor->GetPositionCoordinate()->SetValue(0.05, 0.95);
imageViewer->GetRenderer()->AddActor2D(usageTextActor);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(imageViewer->GetRenderWindow());
//renderWindowInteractor->SetRenderWindow(imageViewer->GetRenderWindow());
//imageViewer->Render();
//ui.main_qvtkWidget->SetRenderWindow(imageViewer->GetRenderWindow());
//imageViewer->GetRenderWindow()->SetSize(600,600);
//int a = t[0];
//char b[10];
//sprintf(b,"%d",a);
//imageViewer->SetupInteractor(ui.main_qvtkWidget->GetRenderWindow()->GetInteractor());
vtkSmartPointer<vtkAngleWidget> angleWidget =
vtkSmartPointer<vtkAngleWidget>::New();
angleWidget->SetInteractor(renderWindowInteractor);
angleWidget->CreateDefaultRepresentation();
ui.main_qvtkWidget->SetRenderWindow(imageViewer->GetRenderWindow());
imageViewer->GetRenderer()->SetBackground(0,0,1);
imageViewer->GetRenderer()->SetBackground(1,0,1);
//renderWindowInteractor->Initialize();
//angleWidget->On();
//renderWindowInteractor->Start();
//ui.main_qvtkWidget->SetRenderWindow(imageViewer->GetRenderWindow());
//ui.main_qvtkWidget->GetRenderWindow()->SetInteractor();
//ui.main_qvtkWidget->GetRenderWindow()->SetBorders(0);
//ui.main_qvtkWidget->GetRenderWindow()->SetSize(60, 60);
//ui.main_qvtkWidget
//imageViewer->Render();
imageViewer->Render();
renderWindowInteractor->Initialize();
angleWidget->On();
renderWindowInteractor->Start();
2016年10月02日 10点10分 3
level 1
小笼bao🐷 楼主
运行什么都不弹出啊。我看百度好像说widget必须加在一个有弹出的窗口上,我在qvtkwidget钱先将imageViewer渲染了,图像加的widget正常,但是顺序对调后没有输出啊。
2016年10月02日 10点10分 4
1