是这样的,我在QT上的VTK控件上想实现旋转物体的过程中触发一些事件,采用了以下这种方式
void callBackFunc(vtkObject*, unsigned long eid, void* clientdata, void* calldata)
{
if (eid == vtkCommand::LeftButtonReleaseEvent)
state = 0;
if (eid == vtkCommand::LeftButtonPressEvent)
state = 1;
if (eid == vtkCommand::MouseMoveEvent) {
if(state == 1){
//...
}
}
}
可是经过测试,LeftButtonPressEvent和MouseMoveEvent都可以触发,唯独LeftButtonReleaseEvent不能触发,这让我百思不得其解。
添加的方式也是一致的:
ui.qvtkWidget->GetInteractor()->AddObserver(vtkCommand::LeftButtonReleaseEvent, call_back);
ui.qvtkWidget->GetInteractor()->AddObserver(vtkCommand::LeftButtonPressEvent, call_back);
ui.qvtkWidget->GetInteractor()->AddObserver(vtkCommand::MouseMoveEvent, call_back);
请问是什么原因呢?谢谢了。
void callBackFunc(vtkObject*, unsigned long eid, void* clientdata, void* calldata)
{
if (eid == vtkCommand::LeftButtonReleaseEvent)
state = 0;
if (eid == vtkCommand::LeftButtonPressEvent)
state = 1;
if (eid == vtkCommand::MouseMoveEvent) {
if(state == 1){
//...
}
}
}
可是经过测试,LeftButtonPressEvent和MouseMoveEvent都可以触发,唯独LeftButtonReleaseEvent不能触发,这让我百思不得其解。
添加的方式也是一致的:
ui.qvtkWidget->GetInteractor()->AddObserver(vtkCommand::LeftButtonReleaseEvent, call_back);
ui.qvtkWidget->GetInteractor()->AddObserver(vtkCommand::LeftButtonPressEvent, call_back);
ui.qvtkWidget->GetInteractor()->AddObserver(vtkCommand::MouseMoveEvent, call_back);
请问是什么原因呢?谢谢了。