[有人可以提供关于如何使用RubberBandDrag
中的QGraphicsView
枚举值的解释,或者是更好的简短示例吗? PyQt5会很棒,但是如果对任何提供有用示例的人来说都是首选,我可以从C ++版本进行翻译。
NoDrag
和ScrollHandDrag
相对容易理解(NoDrag
使鼠标成为指针,您可以捕获某些位置的点击,ScrollHandDrag
使鼠标成为手,并且可以实现单击并拖动来滚动),但是我不清楚RubberBandDrag
的用途。
在有人说“去阅读文档”之前,这里是提供的信息
https://doc.qt.io/qt-5/qgraphicsview.html
枚举QGraphicsView :: DragMode
QGraphicsView :: RubberBandDrag
会出现橡皮筋。拖动鼠标将设置橡皮筋几何图形,并选择橡皮筋覆盖的所有项目。这个非交互视图的模式被禁用。
这很清楚,但是我不确定如何实际使用RubberBandDrag
。初次放置后,有没有办法用它来拖动QPolygon
的点?那将非常有用。
QGraphicsView::RubberBandDrag
标志仅用于激活内部的QGraphicsView::RubberBandDrag
:
而且QRubberBand通常只旨在可视化所选区域,如果使用QGraphicsView,则选择该区域下方的项目(如果它们是可选择的(启用QGraphicsItem :: ItemIsSelectable标志)。
根据您的最后一个问题:是否有一种方法可以在初次放置后用它来拖动QPolygon的点?这将非常有用,在我看来,您有一个QRubberBand
,因为在术语中使用drag似乎使您认为它可以拖动元素,因为不,拖动是指创建橡皮筋的方式。
一会儿,我将展示如何实现顶点的拖动以修改QPolygon。
以下显示了如何通过拖动鼠标来修改顶点的位置: