def dropEvent(self, event: QDropEvent): self.drag_active = False row = self.rowAt(event.pos().y()) index = self.model().createIndex(row, 0) # this always get the default 0 column index rect = self.visualRect(index) drop_indicator_position = self.position(event.pos(), rect) if row == -1: row = self.model().row_count - 1 elif drop_indicator_position == self.BelowItem or drop_indicator_position == self.OnItem: row += 1 self.model().dropped_row = row super().dropEvent(event)
def dropEvent(self, event: QDropEvent): """custom drop event to prevent reparenting """ # data = event.mimeData() # if data.hasFormat('application/x-qabstractitemmodeldatalist'): # the_bytearray = data.data('application/x-qabstractitemmodeldatalist') # data_item = self.decodeMimeData(the_bytearray) # print("got a drop event", data_item) # item Drop above pos = event.pos() dest_item = self.itemAt(pos) if dest_item is None: return dest_parent = dest_item.parent() selected_items = self.selectedItems() for x in selected_items: if x.parent() != dest_parent: return res = QTreeWidget.dropEvent(self, event) if isinstance(dest_item, OutlineVirtualHelixItem): part = dest_item.part() vhi_list = [dest_parent.child(i) for i in range(dest_parent.childCount())] part.setImportedVHelixOrder([vhi.idNum() for vhi in vhi_list], check_batch=False)
def dropEvent(self, event: QDropEvent): super().dropEvent(event) if self.count() > 0: item = self.itemAt(event.pos()) if item is not None: index = self.indexFromItem(item).row() self.setCurrentRow(index) else: self.setCurrentRow(self.count()-1)
def dropEvent(self, event: QDropEvent): target = self.itemAt(event.pos()) sources = self.selectedItems() self.window().central_widget.move_items(sources, target)
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())
def dragMoveEvent(self, event: QDropEvent): self.update_drop_indicator(event.pos())
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)