Qt:程序在发出信号时崩溃

时间:2014-03-27 11:48:56

标签: qt signals vtk qobject

我正在使用VTK和Qt,我需要知道按下或释放哪个鼠标按钮。 这是因为我创建了一个新类,它继承了QObjectvtkInteractorStyleTrackballCamera

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。

0 个答案:

没有答案