我正在使用VTK和Qt,我需要知道按下或释放哪个鼠标按钮。
这是因为我创建了一个新类,它继承了QObject
和vtkInteractorStyleTrackballCamera
:
class CModelMouseInteractorStyle :
public vtkInteractorStyleTrackballCamera,
public QObject
{
public:
CModelMouseInteractorStyle();
virtual void OnLeftButtonDown()
{
std::cout << "Pressed left mouse button." << std::endl;
// Forward events
vtkInteractorStyleTrackballCamera::OnLeftButtonDown();
// emit signal
emit leftButtonDown();
}
virtual void OnLeftButtonUp()
{
std::cout << "Released left mouse button." << std::endl;
// Forward events
vtkInteractorStyleTrackballCamera::OnLeftButtonUp();
// emit signal
emit leftButtonUp();
}
// I have similar functions for right and middle mouse-button
...
signals:
void leftButtonDown();
void leftButtonUp();
// and similar signals, too
...
};
每当按下/释放按钮时,我都会得到正确的couts
,我可以按照自己的意愿与我的场景进行交互,但只要我不发出任何信号。
一旦我在函数中发出信号,我得到symbol lookup error
并且整个程序崩溃。
难道我做错了什么?我忘记了什么吗?
我使用的是Qt4.7.4和Vtk5.8。