def startDrag(self, lb): pixmap = lb.pixmap dato = lb.id itemData = QtCore.QByteArray(str(dato)) mimeData = QtCore.QMimeData() mimeData.setData("image/x-lc-dato", itemData) drag = QtWidgets.QDrag(self) drag.setMimeData(mimeData) drag.setHotSpot(QtCore.QPoint(pixmap.width() / 2, pixmap.height() / 2)) drag.setPixmap(pixmap) drag.exec_(QtCore.Qt.MoveAction)
def mouseMoveEvent(self, e): if e.buttons() == QtCore.Qt.LeftButton: mimeData = QtCore.QMimeData() mimeData.setText('%d,%d' % (e.x(), e.y())) # show the ghost image while dragging pixmap = QtWidgets.QPixmap.grabWidget(self) painter = QtWidgets.QPainter(pixmap) painter.fillRect(pixmap.rect(), QtWidgets.QColor(0, 0, 0, 127)) painter.end() drag = QtWidgets.QDrag(self) drag.setMimeData(mimeData) drag.setPixmap(pixmap) drag.setHotSpot(e.pos()) drag.exec_(QtCore.Qt.MoveAction)