Tennis123765 2022-08-04 14:41 采纳率: 40%
浏览 58
已结题

PyQt5 listwidget中拖动调整item顺序,原item无法删除,程序写了删除但是删除不掉

    self.listWidget_2.setAcceptDrops(True)  #开启接受拖入
    self.listWidget_2.setDragEnabled(True)  #开启拖拽
    self.listWidget_2.setSelectionMode(QAbstractItemView.ExtendedSelection)  # 开启多选

def dropEvent(self, QDropEvent):
    pos=QDropEvent.pos()  #获取拖入事件的坐标
    current_item=self.itemAt(pos)  #获取当前坐标下的item
    current_index=self.indexFromItem(current_item)  #获取该item的index
    current_row=current_index.row()  #获取行数
    print('current_row:',current_row)
    source_Widget=QDropEvent.source()   #获取拖入item的父组件
    items=source_Widget.selectedItems() #获取所有的拖入item
    for i in items:
        source_Widget.takeItem(source_Widget.indexFromItem(i).row())  #实时移除来源item
        self.insertItem(current_row, i)#插入本listwidget

        current_row = self.listWidget_2.currentRow()
        self.listWidget_2.takeItem(current_row)
  • 写回答

1条回答 默认 最新

  • 与猿共舞 2022-08-05 14:54
    关注

    从新编译

    评论

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 创建了问题 8月4日