Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
How to disable the automatic selectioning in a QGraphicsscene? [Solved]
when I put some QGraphicItems in a QGraphicsscene and give this Items the ItemIsSelectible flag, one item can be selected with a mouse click (all other items are deselected automatically then). If I hold down CTRL key while clicking, the other items hold their selection state. But how can I achive this with another key than CTRL or for example in a special mode, where I do not need to hold down a key for adding items to the selection with clicking on it. I tried nearly everything, but I do not know where to catch and avoid this automatic deselection behaviour. Does anyone know how this could be done?
Franzk last edited by
Override the QGraphicsScene::mousePressEvent() and implement your own selection scheme. Have a look at the QGraphicsScene::mousePressEvent() implementation for ideas.
I tried this but it does not work, even if I do not propagate the mousePressEvent to QGraphicsScene::mousePressEvent() the deselection occurs. :(
OK, found it. The item itself does the selectioning and unselectioning in both it's mousePressEvent and mouseReleaseEvent. QGraphicsScene::mousePressEvent() does only a deselection of all items if there is no item under the cursor. So finally reimplementing QGraphicsItem::mousePressEvent() (and mouseReleaseEvent) and not propagate the event to the base class solved the problem.
It is worthwhile to have a look at the source of QGraphicsItem::mousePressEvent().
Be sure and edit the title of your post to add [Solved]. Thanks!