def startDrag(self, dropActions): """Reimplement Qt Method - handle drag event""" data = QMimeData() data.setUrls([QUrl(fname) for fname in self.get_selected_filenames()]) drag = QDrag(self) drag.setMimeData(data) drag.exec_()
def copy_files_clipboard(create_folders_files): """Fixture to copy files/folders into the clipboard""" file_paths = create_folders_files[0] file_content = QMimeData() file_content.setUrls([QUrl.fromLocalFile(fname) for fname in file_paths]) cb = QApplication.clipboard() cb.setMimeData(file_content, mode=cb.Clipboard) return file_paths
def _copy(self): ''' Copies all of the selected items to the clipboard. ''' # Copy the urls of the selected files to the clipboard. filePath = self._model.filePath urls = [QUrl.fromLocalFile(filePath(index)) for index in self._view.selectedIndexes()] mime_data = QMimeData() mime_data.setUrls(urls) clipboard = QApplication.clipboard() clipboard.setMimeData(mime_data)
def on_copy(self): """ copy file or dir , save path in pasteAction data. :return: """ path = self.get_current_file_path() self.pasteAction.setEnabled(True) self.pasteAction.setData(path) data = QMimeData() data.setUrls([QUrl.fromLocalFile(path)]) # 复制到系统剪贴板 clip = QApplication.clipboard() clip.setMimeData(data)
def test_add_drop(botlicense): qtbot, dialog = botlicense mime_no_data = QMimeData() mime_data = QMimeData() mime_data.setUrls([QUrl.fromLocalFile(EXPIRED_LICENSE_PATH)]) event = create_event(dialog.table, mime_data, QDropEvent) dialog.table.dropEvent(event) assert bool(dialog.count()) assert dialog.count() == 5 event = create_event(dialog.table, mime_no_data, QDropEvent) dialog.table.dropEvent(event) assert bool(dialog.count()) assert dialog.count() == 5
def test_drag_move_events(botlicense): qtbot, dialog = botlicense mime_data = QMimeData() mime_no_data = QMimeData() mime_data.setUrls([QUrl.fromLocalFile(EXPIRED_LICENSE_PATH)]) event = create_event(dialog.table, mime_data, QDragEnterEvent) dialog.table.dragEnterEvent(event) event = create_event(dialog.table, mime_no_data, QDragEnterEvent) dialog.table.dragEnterEvent(event) event = create_event(dialog.table, mime_data, QDragMoveEvent) dialog.table.dragMoveEvent(event) event = create_event(dialog.table, mime_no_data, QDragMoveEvent) dialog.table.dragMoveEvent(event) event = QDragLeaveEvent() dialog.table.dragLeaveEvent(event)