如何通过拖放操作在pyqt中交换项目位置

时间:2013-11-14 06:39:23

标签: python qt pyqt pyside

我使用QtGui.QGraphicsItem作为我的基类(事实上,我正在考虑使用QtGui.QGraphicsWidget),并期望QtGui.QGraphicsView中的项目可以简单地通过拖放来交换他们的位置。< / p>

简而言之:将A拖到B,并交换他们的位置。

我的问题是:如何在拖放事件中获得A的位置,以及如何将B的位置返回给A.

现在我已经掌握了如何密封流中的位置,但是有更多的pythonic吗?

1 个答案:

答案 0 :(得分:0)

您可以使用获得dragMoveEvent

QGraphicsSceneDragDropEvent广告位

这有公共职能

QPointF     pos () const
QPointF     scenePos () const
QPoint      screenPos () const

您可以使用它来获取所需的位置信息。

编辑

Drag&amp; Drop Puzzle Example显示拖放所需的所有信息。