QT自定义鼠标事件和拖动模式

PTB*_*TBG 2 c++ qt subclassing

我正在用Qt创建一个应用程序.我正在使用带有QGraphicsScene的QGraphicsView.我正在对QGraphicsView进行子类化,因为我需要添加自定义鼠标事件功能.我的问题是,当我重新实现鼠标事件功能时,原始的QGraphicsView功能不起作用.

即我重新实现了一些鼠标按下和释放事件,现在我无法拖动QGraphicsScene,即使我有

this->setDragMode(QGraphicsView::ScrollHandDrag);
Run Code Online (Sandbox Code Playgroud)

希望我的问题很清楚,如果不是,请让我知道什么是不清楚的.

小智 5

您是否正在调用您重写的鼠标事件处理程序的基类实现?例如,

void MyGraphicsView::mousePressEvent(QMouseEvent *e)
{
    // Custom logic

    QGraphicsView::mousePressEvent(e);
}
Run Code Online (Sandbox Code Playgroud)