我正在尝试捕获指示用户已使用橡皮带选择区域的信号。我试过这个:
QGraphicsScene* scene = new QGraphicsScene();
connect(scene, SIGNAL(selectionChanged()), this, SLOT(SelectionChanged()));
this->graphicsView->setScene(scene);
this->graphicsView->setDragMode(QGraphicsView::RubberBandDrag);
但我的SelectionChanged()槽从未被调用过。任何想法如何做到这一点?
答案 0 :(得分:1)
为了在选择场景中的某些项目时发出信号selectionChanged
。为了获得选择,应该设置标志QGraphicsItem::ItemIsSelectable
。
您确定这些项目是可选择的吗?
答案 1 :(得分:1)
如@webclectic回答的评论中所述,QGraphicsView
橡皮筋用于选择QGraphicsItems
。
要获取橡皮筋的坐标,您需要继承QGraphicsView
,然后按照QRubberBand
manual page上的说明操作,在鼠标按下并释放时存储坐标,然后使用QRect发出信号要点。