是否存在一种简单的方法来选择QGraphicsItem的一部分(就像选择,例如带有虚线边框),尽管它在QGraphicsScene中的位置
我找到了QGraphicsItem::ItemIsSelectable,但它对我帮助不大。
Thx
发布于 2012-01-20 18:15:07
您不能选择QGraphicsItem的一部分。您可以选择整个项目。通常,当它被选中时,它会在自己周围画一个虚线矩形。
您可以通过以下方式选择项目:
QGraphicsItem::setSelected或
QGraphicsScene::setSelectionArea发布于 2012-01-20 18:20:50
当您单击它时,是否要将其选中?如果是,则可以覆盖此项目的mousePressEvent(QGraphicsSceneMouseEvent event)侦听器,并使用setSelected()。在Java中(很抱歉),它应该是这样的:
@Override
public void mousePressEvent (QGraphicsSceneMouseEvent event) {
if (event.button() == Qt.MouseButton.LeftButton) {
this.setSelected(true);
}
}当然,如果你想用左键选择它。:)
发布于 2012-01-20 18:14:09
您可以调用QGraphicsScene::setSelectionArea(QPainter path, QTransform),然后通过调用selectionArea检索该区域。但是,如果您要检索当前选择的项目,您将只能获取整个QGraphicsItems。
https://stackoverflow.com/questions/8939657
复制相似问题