Привет! у меня такая проблема...разбирал исходник который был приведен в книге Макс Шлее Qt 4.8 профессиональное программирование на с++ пример CustomGraphicsView листинг 21...потом я решил немного изменить , чтобы можно было рисовать мышкой линию, т.е взял подставил за место класса QGraphicsScene scene свой класс MyScene1 scene. Там я унаследовал mousePressEvent и mouseMoveEvent чтобы можно рисовать линию...все работает отлично как и задумалось...теперь я решил изменить курсор над линию который нарисовал pm_line->setCursor(Qt::OpenHandCursor); и здесь появляется проблема, т.е. нажимаешь на кнопку мыши, чтобы установить начальные координаты мыши, потом перемещаюшь мышкой и отпускаешь кнопку, а линия досихпор продолжает перемещается за мышкой, так и не получается установить конечные координаты линии...вы наверно скажите надо унаследовать mouseReleaseEvent, но не понимаю зачем, если после отпускание кнопки мыши, должна нарисоваться линия... почему так происходит ? как можно это исправить ? вот код
class MyScene1 : public QGraphicsScene
{
    Q_OBJECT
public:
     MyScene1(const QRectF& scene, QObject* parent = nullptr) : QGraphicsScene(scene, parent)
    {
    }
private:
    QGraphicsLineItem* pm_line = new QGraphicsLineItem;
    qreal x_line, y_line;
    bool m_flag;
    void mousePressEvent(QGraphicsSceneMouseEvent* event)
    {
        x_line = event->scenePos().x();
        y_line = event->scenePos().y();
        pm_line = addLine(x_line, y_line, event->scenePos().x(), event->scenePos().y());
        pm_line->setCursor(Qt::OpenHandCursor);
    }
    void mouseMoveEvent(QGraphicsSceneMouseEvent* event)
    {
        pm_line->setLine(x_line, y_line, event->scenePos().x(), event->scenePos().y());
    }
};
