def mouseMoveEvent(self, e): if self.drag_start is None: pass x = e.x() - self.drag_start.x() y = e.y() - self.drag_start.y() dist = QApplication.startDragDistance() if not self.draggable or x > dist or y > dist: return drag = QDrag(self) mime = QMimeData() mime.setText(self.__class__.__name__) mime.part = self drag.setMimeData(mime) pixmap = QPixmap.grabWidget(self) pixmap.setAlphaChannel(pixmap) drag.setPixmap(pixmap) drag.setHotSpot(QPoint(drag.pixmap().width() / 2, drag.pixmap().height())) drag.start(Qt.CopyAction)
def mouseMoveEvent(self, e): if self.drag_start is None: pass x = e.x() - self.drag_start[0] y = e.y() - self.drag_start[1] dist = QApplication.startDragDistance() if (self.draggable is False) or (abs(x) < dist and abs(y) < dist): return drag = QDrag(self) mime = QMimeData() mime.setText(self.__class__.__name__) mime.part = self drag.setMimeData(mime) pixmap = QPixmap.grabWidget(self) pixmap.setAlphaChannel(pixmap) drag.setPixmap(pixmap) drag.setHotSpot(QPoint(drag.pixmap().width() / 2, drag.pixmap().height())) self.dragging = True drag.start(Qt.CopyAction)