QGraphicsItem selection - PullRequest
       7

QGraphicsItem selection

4 голосов
/ 20 января 2012

Существует ли простой метод для выбора части QGraphicsItem (например, для выделения с пунктирной границей, например), несмотря на его положение в QGraphicsScene

Я нашел QGraphicsItem::ItemIsSelectable, но мне это мало помогает.

Thx

Ответы [ 3 ]

4 голосов
/ 20 января 2012

Вы не можете выбрать часть QGraphicsItem.Вы можете выбрать весь предмет.Обычно, когда выбран, он рисует пунктирный прямоугольник вокруг себя.

Вы можете выбрать элемент:

3 голосов
/ 20 января 2012

Вы хотите выбрать его, когда нажимаете на него? Если да, вы можете переопределить прослушиватель mousePressEvent(QGraphicsSceneMouseEvent event) для этого элемента и использовать setSelected(). В Java (извините за это) это было бы что-то вроде:

@Override
public void mousePressEvent (QGraphicsSceneMouseEvent event) {
    if (event.button() == Qt.MouseButton.LeftButton) {
        this.setSelected(true);
    }
}

Если вы хотите выбрать его левой кнопкой, конечно. :)

1 голос
/ 20 января 2012

Вы можете вызвать QGraphicsScene :: setSelectionArea (путь QPainter, QTransform) , а затем получить область, вызвав selectionArea.Однако, если вы хотите получить элементы, выбранные в данный момент, вы получите только целые элементы QGraphicsItems.

...