我遇到qvtkwidget问题。我有一个vtkimageplanewidget的立方体,我已经在滑块和它们之间建立了连接,但是当我在qvtkwidget中使用鼠标更改平面时,我希望滑块也能改变。
我该怎么做?
以下是我如何连接飞机上的滑块。
SLOT:
void planevolume::SplaneXpixel()
{
double xvalue=ui->Slider->value();
planeX->SetSliceIndex(xvalue);
ui->qvtkWidget->update();
}
然后:
connect(ui->Slider, SIGNAL(valueChanged(double)), this, SLOT(SplaneXpixel()));
相反的情况呢?我试过了:
SLOT:
void planevolume::planeXSpixel()
{
double xvalue=planeX->GetSliceIndex();
ui->Slider->setValue(xvalue);
ui->qvtkWidget->update();
}
然后:
connect(ui->qvtkWidget, SIGNAL(mouseEvent(QMouseEvent*)), SLOT(planeXSpixel()));
但它不起作用,任何人都可以帮助我吗?
答案 0 :(得分:1)
我相信您正在寻找vtkEventQtSlotConnect。这是一个例子: http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/EventQtSlotConnect
答案 1 :(得分:0)
如果使用UI表单,请右键单击滑块,选择“转到插槽...”并选择sliderMoved(int)插槽。 在Qt创建的自动插槽内,它应该是on_slider_sliderMoved(int position)。 只需在那里插入你的代码。 也许这个实现可以帮助你进一步: