У меня проблема.
У меня есть класс, который наследует QGraphicsView, предположим, он называется "g". Я повторно реализовал метод mousePressEvent, код этого метода:
void GraphWidget::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::MiddleButton)
createNode(event->pos().x(), event->pos().y());
update();
QGraphicsView::mousePressEvent(event);
}
Код метода createNode:
Node *GraphWidget::createNode(qreal x, qreal y, int id)
{
Node* node = new Node(this);
scene()->addItem(node);
node->setPos(x, y);
return node;
}
Я использую этот класс "g" в качестве центрального виджета в моем классе основного окна. Так что это работает как QGraphicsView.
Проблема в том, что когда я нажимаю среднюю кнопку на "области рисования" - точка создается, но не в том месте, где я нажал - точка смещается. Почему? Поэтому, когда я пытаюсь нарисовать эти точки, нажимая среднюю кнопку - все они рисуются не в том месте (не под моим курсором, они рисуются левее и выше моего положения курсора).
Как я могу это исправить?