在多个选定的 QGraphicsItems 中捕获 keyPressEvent
我在 QGraphicsScene 中有一组 QGraphicsItems,其中我将拖动模式设置为RubberBandDrag。我希望能够“橡皮筋”选择多个 QGraphicsItems,然后按删除键,这应该在所有选定的项目中调用 keyPressEvent() 。不幸的是,keyPressEvent 最多仅在其中一项中被调用。
我可以设置一些标志来允许 keyPressEvent 传播到所有选定的项目吗?
I have a set of QGraphicsItems in a QGraphicsScene in which I've set the drag mode to RubberBandDrag
. I would like to be able to 'rubber band' select multiple QGraphicsItems and then hit the delete key, which should call keyPressEvent() in all selected items. Unfortunately, keyPressEvent is only being called in at most one of the items.
Is there some flag I can set to allow the keyPressEvent to be propagated to all selected items?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须将 keyPressEvent() 分配给 QGraphicsScene (不适用于 QGraphicsItems)并删除所有 selectedItem 而不会出现任何问题。
You have to assign keyPressEvent() to QGraphicsScene (not for QGraphicsItems) and delete all selectedItem with out any problems.