我是新进入VTK库的人,当前正在使用Qt 5.4VTK 6.1开发一些应用程序以查看本机DICOM图像。我有4个QVTKWidget2小部件,每个窗口都显示来自意甲的数据:轴向,冠状,矢状和3D MPR和MIP。

为了显示轴向冠状和矢状数据,我对MPR使用vtkResliceImageViewer,对vtkImagePlaneWidget使用Mcc,对于MIP,对vtkVolume使用vtkSmartVolumeMapper

我的问题是如何实现所有小部件共享Zoom,Pan和WindowLevel的功能,所以当我在一个小部件上更改窗口级别时,所做的更改将应用​​于所有其他窗口。与平移和缩放工具相似。

最佳答案

您可以通过信号/插槽来处理类似的事情。例如,您可以定义一个名为“ zoom_in”的信号。
现在,如果放大widget1,它将抛出信号“ zoom_in”。
其他小部件捕获信号。
如果小部件捕获到信号,请为小部件2,3,4的doZoom_in插入一个插槽。

例:


查看文档:
Signals & Slots

关于c++ - 在VTKWidgets与Dicom图像之间共享WindowLevel,Zoom,Pan,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29472073/

10-09 18:09