Дочернее событие перемещения QGraphicsItem (ItemIsMovable) к его родителю - PullRequest
1 голос
/ 05 февраля 2011

Как дочерний QGraphicsItem может переместить свой родительский элемент?

Я устанавливаю флаг ItemIsMovable дочернего элемента, и когда я пытаюсь переместить дочерний элемент, родительский элемент не перемещается, перемещается только дочерний элемент.

<code>
// child items's mouseMoveEvent
void TextDiagram::mouseMoveEvent(QGraphicsSceneMouseEvent *event){
     parentItem()->moveBy(event->pos().x() - lastPos.x() , event->pos().y() -lastPos.y() );
     QGraphicsItem::mouseMoveEvent(event);
}</p>

<p>void TextDiagram::mousePressEvent(QGraphicsSceneMouseEvent *event){
    lastPos.setX( event->pos().x() );
    lastPos.setY( event->pos().y() );
    QGraphicsItem::mousePressEvent(event);
}

Это работает, но если я выбираю более одного элемента, он перемещает только элемент под мышью.

Как я могу решить это?

1 Ответ

2 голосов
/ 06 февраля 2011

Я решил эту проблему, вызвав события мыши у родителей в событиях мыши у ребенка.

...