def mouseMoveEvent(self, event): """ If the mouse moves far enough when the left mouse button is held down, start a drag and drop operation. """ if not event.buttons() & Qt.LeftButton: return if (event.pos() - self.dragStartPosition).manhattanLength() \ < QApplication.startDragDistance(): return if not self.hasImage: return drag = QDrag(self) mimeData = QMimeData() output = QByteArray() outputBuffer = QBuffer(output) outputBuffer.open(QIODevice.WriteOnly) self.imageLabel.pixmap().toImage().save(outputBuffer, 'PNG') outputBuffer.close() mimeData.setData('image/png', output) drag.setMimeData(mimeData) drag.setPixmap(self.imageLabel.pixmap().scaled(64, 64, Qt.KeepAspectRatio)) drag.setHotSpot(QPoint(drag.pixmap().width() / 2, drag.pixmap().height())) drag.start()
def mouseMoveEvent(self, event): """ If the mouse moves far enough when the left mouse button is held down, start a drag and drop operation. """ if not event.buttons() & Qt.LeftButton: return if (event.pos() - self.dragStartPosition).manhattanLength() \ < QApplication.startDragDistance(): return if not self.hasImage: return drag = QDrag(self) mimeData = QMimeData() output = QByteArray() outputBuffer = QBuffer(output) outputBuffer.open(QIODevice.WriteOnly) self.imageLabel.pixmap().toImage().save(outputBuffer, 'PNG') outputBuffer.close() mimeData.setData('image/png', output) drag.setMimeData(mimeData) drag.setPixmap(self.imageLabel.pixmap().scaled(64, 64, Qt.KeepAspectRatio)) drag.setHotSpot(QPoint(drag.pixmap().width() / 2, drag.pixmap().height())) drag.start()
def startDrag(self, mainwin, ev): d = mainwin.currentDocument() if not d: return url = d.url() if url.isEmpty(): return drag = QDrag(mainwin) data = QMimeData() data.setUrls([url]) drag.setMimeData(data) pixmap = mainwin.style().standardPixmap(QStyle.SP_FileIcon, 0, mainwin) hotspot = QPoint(pixmap.width() - 5, 5) drag.setPixmap(pixmap) drag.setHotSpot(hotspot) drag.start(Qt.LinkAction | Qt.CopyAction)
def startDrag(self, mainwin, ev): d = mainwin.currentDocument() if not d: return url = d.url() if url.isEmpty(): return drag = QDrag(mainwin) data = QMimeData() data.setUrls([url]) drag.setMimeData(data) pixmap = mainwin.style().standardPixmap(QStyle.SP_FileIcon, 0, mainwin) hotspot = QPoint(pixmap.width() - 5, 5) drag.setPixmap(pixmap) drag.setHotSpot(hotspot) drag.start(Qt.LinkAction | Qt.CopyAction)
def start_drag(self, info_id): _logger.info( "started dragging" ) mimeData = QMimeData() mimeData.data =("/" + info_id.partition("/")[2].partition("/")[0], moose.element(info_id)) mimeData.setText(info_id) drag = QDrag(self) drag.setMimeData(mimeData) pixmap = QPixmap("") drag.setPixmap(pixmap) # drag.setHotSpot(e.pos() - self.rect().topLeft()) dropAction = drag.start(QtCore.Qt.MoveAction) print((" => ", dropAction)) self.select_info.set_event_type(0) self._timer.start(0) return
def start_drag(self, info_id): # pixmap = QPixmap() # painter = QPainter( pixmap ) # painter.setFont( QFont("Arial") ); # painter.drawText( QPoint(100, 100), info_id ); mimeData = QMimeData() mimeData.data = ("/" + info_id.partition("/")[2].partition("/")[0], moose.element(info_id)) mimeData.setText(info_id) drag = QDrag(self) drag.setMimeData(mimeData) pixmap = QPixmap("") drag.setPixmap(pixmap) # drag.setHotSpot(e.pos() - self.rect().topLeft()) dropAction = drag.start(QtCore.Qt.MoveAction) print(" => ", dropAction) self.select_info.set_event_type(0) self._timer.start(0) return