def dropEvent(self, e: QDropEvent): if e.mimeData().hasUrls(): e.accept() self.url = e.mimeData().urls()[0].toLocalFile() self.dropImage() else: e.ignore()
def dropEvent(self, event: QDropEvent): if len(event.mimeData().urls()) > 0: group_id = self.model().get_groupid_for_index( self.indexAt(event.pos())) self.files_dropped_on_group.emit(event.mimeData().urls(), group_id) else: super().dropEvent(event)
def dropEvent(self, a0: QtGui.QDropEvent) -> None: if a0.mimeData().hasUrls() and a0.mimeData().urls()[0].isLocalFile(): a0.accept() files = [x.path() for x in a0.mimeData().urls()] self.filesdropped(files, a0)
def dropEvent(self, event: QDropEvent) -> None: if event.mimeData().hasUrls: event.setDropAction(Qt.CopyAction) event.accept() for url in event.mimeData().urls(): item = ResourcesItem() extension = os.path.splitext(url.fileName())[1] if extension == ".png" or extension == ".jpg" or extension == ".jpeg" or extension == ".bmp": item.setWhatsThis("Image") item.setIcon(QIcon(url.toLocalFile())) item.mySetData(QPixmap(url.toLocalFile())) elif extension == ".ttf": item.setWhatsThis("Font") item.setIcon(QIcon("Images/FontIcon.png")) fontId = QFontDatabase().addApplicationFont(url.toLocalFile()) item.mySetData(str(fontId)) else: return item.setText(os.path.splitext(url.fileName())[0]) item.mySetUrl(url.toLocalFile()) self.addItem(item) else: event.ignore()
def dropEvent(self, event: QDropEvent): if not self.scene_definition_windows.scene_size_initialized: QMessageBox.warning(None, "Error", "Scene size is not initialized!") event.ignore() return if event.mimeData().hasFormat(PhysicalObjectsModel.MIME_TYPE): dropped_po = pickle.loads(event.mimeData().data( PhysicalObjectsModel.MIME_TYPE)) if dropped_po: self.dropped_physical_object = dropped_po self.__physical_objects_model.add_physical_object_to_scene( dropped_po) dropped_po.scene_position = \ sceneutil.mouse_coordinates_to_image_coordinates(event.pos().x(), event.pos().y(), self.camera_view_size, self.image_frame) event.setDropAction(Qt.CopyAction) event.accept() else: event.ignore() else: event.ignore()
def onDrop(self, event: QDropEvent): if DEBUG: print('CalcSubWnd : onDrop') print(event.mimeData().text()) if event.mimeData().hasFormat(LISTBOX_MIMETYPE): eventData = event.mimeData().data(LISTBOX_MIMETYPE) dataStream = QDataStream(eventData, QIODevice.ReadOnly) pixmap = QPixmap() dataStream >> pixmap op_code = dataStream.readQString() text = dataStream.readQString() mouse_pos = event.pos() scene_pos = self.scene.grScene.views()[0].mapToScene(mouse_pos) if DEBUG: print(f'DROP: {op_code} {text} at {scene_pos}') try: node = NodeFactory.from_op_code(op_code)(self.scene) node.setPos(scene_pos.x(), scene_pos.y()) self.scene.history.storeHistory('Create node {}'.format( node.__class__.__name__)) event.setDropAction(Qt.MoveAction) event.accept() except Exception as e: dumpException(e) else: if DEBUG: print(' ... drop ignored, not requested format ', LISTBOX_MIMETYPE) event.ignore()
def dropEvent(self, event: QDropEvent): if event.mimeData().hasUrls: event.setDropAction(Qt.CopyAction) event.accept() self.drop.emit(event.mimeData().urls()) else: event.ignore()
def drag_handler(self, event: QDropEvent, drop: bool=False): if event.mimeData().hasUrls(): event.setDropAction(Qt.CopyAction) event.accept() if drop: self.files_dropped.emit([url.toLocalFile() for url in event.mimeData().urls()]) else: event.ignore()
def dropEvent(self, a0: QtGui.QDropEvent) -> None: if a0.mimeData().hasUrls() and len( a0.mimeData().urls()) == 1 and os.path.isfile( a0.mimeData().urls()[0].toLocalFile()): a0.setDropAction(QtCore.Qt.CopyAction) a0.accept() self.file_signal.emit(a0.mimeData().urls()[0].toLocalFile()) else: a0.ignore()
def dropEvent(self, e: QtGui.QDropEvent): # todo: work in progress e.accept() if len(e.mimeData().urls()) == 1 and e.mimeData().urls()[0].toLocalFile().endswith('.txt'): # self._c.matchsettingspath = e.mimeData().urls()[0].toLocalFile() pass else: for url in e.mimeData().urls(): if url.toLocalFile().endswith('.Gbx'): print(url.toLocalFile())
def dropEvent(self, event: QtGui.QDropEvent): if event.mimeData().text(): pos: QtCore.QPoint = event.pos() component_name = event.mimeData().text() component_module = importlib.import_module(config.component_dict[component_name].module_path) component_class = getattr(component_module, config.component_dict[component_name].class_name)( drop_event=True) drop_component = ComponentLabel(component=component_class, event_pos=pos, parent=self) # Components.component_widget[component_class.id] = drop_component drop_component.show()
def dropEvent(self, event: QDropEvent): if event.mimeData().hasUrls: event.setDropAction(Qt.CopyAction) event.accept() if Args().test: dialog = ExcelLoadingWidget(files=event.mimeData().urls()) dialog.show() else: event.ignore()
def dropEvent(self, event: QDropEvent): if event.mimeData().hasFormat('application/hotspot'): position = event.pos() offset = event.mimeData().data('application/hotspot') x, y = offset.data().decode('utf-8').split() self.btn.move(position - QPoint(int(x), int(y))) event.setDropAction(Qt.MoveAction) event.accept() else: event.ignore()
def dropEvent(self, event: QDropEvent): if event.mimeData().hasFormat('application/x-simitemdata'): item_data = event.mimeData().data('application/x-simitemdata') data_stream = QDataStream(item_data, QIODevice.ReadOnly) s = data_stream.readQString() self.env.add_element_by_name(s, event.pos().x(), event.pos().y()) self.update() event.acceptProposedAction() else: event.ignore()
def dropEvent(self, a0: QtGui.QDropEvent) -> None: if self.frame_drag.pos().x() <= a0.pos().x() <= self.frame_drag.pos().x() + self.frame_drag.width() \ and self.frame_drag.pos().y() <= a0.pos().y() <= self.frame_drag.pos().y() + self.frame_drag.height(): name = '' if platform.system() == 'Darwin': name = a0.mimeData().text().replace('file:///', '/') elif platform.system() == 'Windows': name = a0.mimeData().text().replace('file:///', '') print(name) if not name.endswith('.apk'): self.label.setText('需要.apk后缀的文件') else: self.lineEdit_filename.setText(name) # self.filename.emit(name) ADBController.add_apk(name)
def dropEvent(self, e: QtGui.QDropEvent) -> None: txt = e.mimeData().text() type, addr, content = txt.split(':') if self.server: self.server.change(type, addr, content, self.address, self.text()) # print('drop from {}:{} to {}'.format(addr,content,self.address)) self.setFrameStyle(1)
def table_drop_event(self, event: QDropEvent): """Processes the mimedata dropped on the tableview. Information ----------- If the mimedata is not a list of urls, rejects.\n Determines whether the url is a file or folder, and then adds to the table. Parameters ---------- event : QDropEvent - event called when data is dropped. """ files = [] folders = [] for url in event.mimeData().urls(): if url.toLocalFile().endswith(".mp3"): event.acceptProposedAction() files.append(url.toLocalFile()) elif os.path.isdir(url.toLocalFile()): event.acceptProposedAction() folders.append(url.toLocalFile()) if files: self.add_files(files) if folders: self.add_folders(folders)
def dropEvent(self, event: QtGui.QDropEvent) -> None: """Allow Drag&Drop'ing from the local filesystem into our fileview """ if (all([ str(file.toLocalFile()).startswith("file://") or str(file.toLocalFile()).startswith("/") or (len(str(file.toLocalFile())) > 0 and str(file.toLocalFile())[1] == ":") for file in event.mimeData().urls() ])) and len(event.mimeData().urls()) > 0: # Its an upload (files/dirs dragged from the local filesystem into our fileview) self.doUpload( [file.toLocalFile() for file in event.mimeData().urls()], self.getNode()) else: super(FileListView, self).dropEvent(event)
def dropEvent(self, e: QDropEvent): """Handle Drag and Drop events. The :py:class:`QDropEvent` performs the actual drop operation. We support the following operations: if an Image is dropped, we will use it as input image for the :py:class:`Toolbox`. """ mimeData = e.mimeData() if mimeData.hasUrls() and self._toolbox: # 1. We just consider the first URL, even if multiple URLs # are provided. url = mimeData.urls()[0] LOG.info("Drag and dropped %d URLs, took first: %s", len(mimeData.urls()), url) # 2. Convert the URL to a local filename filename = url.toLocalFile() description = f"Dropped in image ({filename})" LOG.info("Converted URL to local filename: '%s'", filename) # 3. Set this file as input image for the toolbox. self._toolbox.set_input_from_file(filename, description=description) # 4. Mark the Drop action as accepted (we actually perform # a CopyAction, no matter what was proposed) if e.proposedAction() == Qt.CopyAction: e.acceptProposedAction() else: # If you set a drop action that is not one of the # possible actions, the drag and drop operation will # default to a copy operation. e.setDropAction(Qt.CopyAction) e.accept()
def dragEnterEvent(self, event: QDropEvent): if event.mimeData().hasUrls(): event.acceptProposedAction() self.setFrameStyle(QFrame.StyledPanel | QFrame.Sunken) self.setBackgroundRole(QPalette.Light) else: event.ignore()
def dropEvent(self, event: QDropEvent) -> None: mimeData = event.mimeData() if self.isMimeAccepted(mimeData): self.setDataFromMime(mimeData) event.acceptProposedAction() else: super().dropEvent(event)
def dropEvent(self, event: QDropEvent) -> None: """Called when a drop event occurs.""" file_path = event.mimeData().text() if self.callback: self.callback(file_path) self.show_selected_file(file_path)
def dropEvent(self, a0: QDropEvent) -> None: for p in a0.mimeData().text().split("\n"): if ".jpg" in p or ".png" in p: img = DropImage(self, p) self._drop_image(img) img.btn_delete.clicked.connect(partial(self._on_delete, img)) self.onChanged.emit(self.get_images())
def dropEvent(self, event: QDropEvent): mime_data = event.mimeData() data_str = str(mime_data.text()) indexes = list(data_str.split("/")[:-1]) signal = None proto_analyzer = None for index in indexes: row, column, parent = map(int, index.split(",")) if parent == -1: parent = self.signal_tree_root else: parent = self.signal_tree_root.child(parent) node = parent.child(row) if node.protocol is not None and node.protocol.signal is not None: signal = node.protocol.signal proto_analyzer = node.protocol break if signal is None: return if signal is None: return self.signal = signal # type: Signal self.proto_analyzer = proto_analyzer # type: ProtocolAnalyzer self.scene_manager = SignalSceneManager(signal, self) self.plot_data(self.signal.real_plot_data) self.show_full_scene() self.auto_fit_view() self.signal_loaded.emit(self.proto_analyzer)
def dropEvent(self, event: QtGui.QDropEvent) -> None: """We got a Drop! Add them to the selection if possible. Files contain their dlkey instead of an id. Well check the events.source widget for more informations about the files, and add them only if we succed. """ mime = event.mimeData() if not mime.hasUrls(): return for url in mime.urls(): res = itemFromUrl(url) if not res: continue modul, dlkey, name = res if dlkey and modul != self.modul: continue srcWidget = event.source() if not srcWidget: # Not dragged from this application continue items = srcWidget.selectedItems() for item in items: if "dlkey" in item.entryData and dlkey == item.entryData[ "dlkey"]: self.extend([item.entryData]) break
def dropEvent(self, event: QDropEvent): if event.source() is not None: return # drag starts within the application mimeData = event.mimeData() if mimeData.hasUrls(): raw = mimeData.data("text/uri-list") if type(raw) == QByteArray: # Compat. Workaround #113 # As of Qt 5.3.1, QMimeData.urls() cannot read QByteArray # Firefox passes ASCII encoded escaped bytes # Chrome passes UTF-16 encoded bytes. raw = bytes(raw) try: url = raw.decode("ASCII") except UnicodeDecodeError: url = raw.decode("UTF-16LE") urls = [url] else: urls = list(map(lambda qurl: qurl.url(), mimeData.urls())) app.taskCreationAgent.createTasksAction(urls) elif mimeData.hasText(): app.taskCreationAgent.createTasksFromMimeData(mimeData) else: pass event.acceptProposedAction()
def dropEvent(self, event: QDropEvent): data: str = event.mimeData().text() if data.isdigit(): container_id = int(event.mimeData().text()) drop_container = containers_service.getContainer(container_id) drop_container.group = self.group drop_container.save() self.move_app.emit(drop_container, self.ui) else: group_id = int(data.split('Group:')[1]) drop_group = group_service.getGroup(group_id) drop_group.order = group_service.getNextOrder(self.group) drop_group.save() self.move_group.emit(drop_group, self.ui) event.acceptProposedAction() self.cleanDraggingEffects()
def dropEvent(self, event: QtGui.QDropEvent) -> None: if event.mimeData().hasUrls: event.setDropAction(Qt.CopyAction) event.accept() for url in event.mimeData().urls(): # print(url.toLocalFile()) self.dropped.emit(url.toLocalFile()) listItem = QListWidgetItem() fname = os.path.basename(url.toLocalFile()) listItem.setText(fname) listItem.setIcon( QtGui.QIcon( os.path.abspath('view/icon/document-list.png'))) self.addItem(listItem) else: event.ignore()
def dropEvent(self, e: QDropEvent) -> None: """拖拽结束以后触发的事件""" paths = e.mimeData().text().split('\n') for path in paths: path = path.strip() if len(path) > 8: self.addItem(path.strip()[8:]) e.accept()
def dropEvent(self, event: QtGui.QDropEvent) -> None: dataDict = json.loads( event.mimeData().data("viur/treeDragData").data().decode("UTF-8")) protoWrap = protocolWrapperInstanceSelector.select(self.realModule) assert protoWrap is not None destItem = self.itemAt(event.pos()) protoWrap.move(dataDict["nodes"], dataDict["leafs"], destItem.entryData["key"])
def dropEvent(self, event: QDropEvent): items = [item for item in self.items(event.scenePos()) if isinstance(item, GraphicsItem) and item.acceptDrops()] item = None if len(items) == 0 else items[0] if len(event.mimeData().urls()) > 0: self.files_dropped.emit(event.mimeData().urls()) indexes = list(event.mimeData().text().split("/")[:-1]) group_nodes = [] file_nodes = [] for index in indexes: try: row, column, parent = map(int, index.split(",")) if parent == -1: parent = self.tree_root_item else: parent = self.tree_root_item.child(parent) node = parent.child(row) if node.is_group: group_nodes.append(node) else: file_nodes.append(node) except ValueError: continue # Which Nodes to add? nodes_to_add = [] """:type: list of ProtocolTreeItem """ for group_node in group_nodes: nodes_to_add.extend(group_node.children) nodes_to_add.extend([file_node for file_node in file_nodes if file_node not in nodes_to_add]) protocols_to_add = [node.protocol for node in nodes_to_add] ref_item = item position = None if ref_item is None else item.drop_indicator_position self.add_protocols(ref_item, position, protocols_to_add) super().dropEvent(event)
def dropEvent(self, event: QDropEvent): mime_data = event.mimeData() data_str = str(mime_data.text()) indexes = list(data_str.split("/")[:-1]) signal = None proto_analyzer = None for index in indexes: row, column, parent = map(int, index.split(",")) if parent == -1: parent = self.signal_tree_root else: parent = self.signal_tree_root.child(parent) node = parent.child(row) if node.protocol is not None and node.protocol.signal is not None: signal = node.protocol.signal proto_analyzer = node.protocol break if signal is None: return self.draw_signal(signal, proto_analyzer)
def dropEvent(self, event: QDropEvent): if len(event.mimeData().urls()) > 0: group_id = self.model().get_group_id_for_index(self.indexAt(event.pos())) self.files_dropped_on_group.emit(event.mimeData().urls(), group_id) else: super().dropEvent(event)
def dropEvent(self, event: QDropEvent): if len(event.mimeData().urls()) > 0: self.files_dropped.emit(event.mimeData().urls())
def dropEvent(self, event: QDropEvent): if event.mimeData().hasUrls(): str_p = event.mimeData().urls()[0].toLocalFile() print(str_p) self.setText(str_p)
def dropEvent(self, event: QDropEvent): if len(event.mimeData().urls()) == 0: self.frame_dropped.emit(self.mapToParent(event.pos())) else: self.files_dropped.emit(event.mimeData().urls())