要使QGraphicsView接收鼠标事件,您需要在QGraphicsView对象上启用鼠标跟踪。可以通过设置setMouseTracking()方法来完成此操作:

QGraphicsView *view = new QGraphicsView();
view->setMouseTracking(true);

然后,您可以在QGraphicsView或其派生类中重新实现鼠标事件处理函数,例如mousePressEvent()、mouseMoveEvent()和mouseReleaseEvent()等,以处理特定的鼠标事件。以下是一个示例:

class CustomGraphicsView : public QGraphicsView
{
protected:
    void mousePressEvent(QMouseEvent *event) override
    {
        // 处理鼠标按下事件
    }
    
    void mouseMoveEvent(QMouseEvent *event) override
    {
        // 处理鼠标移动事件
    }
    
    void mouseReleaseEvent(QMouseEvent *event) override
    {
        // 处理鼠标释放事件
    }
};

通过这种方式,您可以在QGraphicsView中处理鼠标事件

qgraphiview不接收鼠标事件

原文地址: http://www.cveoy.top/t/topic/iE75 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录