1
문제가 있습니다.QGraphicsView에서 그리기 할 때 그림 이동
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;
}
나는 나의 MainWindow를 클래스에 중앙 위젯이 클래스 "g"를 사용합니다. QGraphicsView와 같이 작동합니다.
"그리기 영역"에서 가운데 단추를 누르면 문제가 발생합니다. 즉, 클릭 할 때 점이 생성되지만 점이 아닌 점이 이동됩니다. 왜? 따라서 중간 점을 눌러 점을 그리려고 할 때 - 모든 점이 잘못된 위치에 그려집니다 (내 커서가 아닌, 커서 위치 왼쪽과 위로 그려 짐).
어떻게 해결할 수 있습니까?
그래, 그것은 문제가 해결 될 :
나는 당신의 x와 y를 매핑하는 문제를 해결해야하는 장면 공간 좌표 용의자. 고마워, 너 정말 Qt가 좋다! – ScienceSE