如何在两个 QListWidget 之间移动项目?
Posted
技术标签:
【中文标题】如何在两个 QListWidget 之间移动项目?【英文标题】:How to move items between two QListWidgets? 【发布时间】:2021-09-14 12:21:38 【问题描述】:我想创建一个 pyqt5 GUI,用户应该在其中选择左侧想要的变量,它们应该显示在右侧。这是 GUI 的样子:
基本上,我想单击左侧的变量listWidget
,它们应该显示在右侧的列表小部件中(chosenitem_list)
,然后理想情况下从左侧消失listWidget
。否则,我可以选择所有所需变量后添加一个按钮, 将它们传输到另一边. 我正在尝试使用下面代码中的item_clicked
方法执行此操作, 但是当我单击它们时没有任何反应所以我被卡住了. 什么我做错了吗?
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
loadUi('browse.ui',self)
self.listWidget.clicked.connect(self.item_clicked)
def item_clicked(self):
item = QtWidgets.QListWidgetItem()
item = self.listWidget.currentItem()
self.chosenitem_list.addItem(item)
【问题讨论】:
【参考方案1】:你必须克隆 QListWidgetItem:
def item_clicked(self, index):
item = self.listWidget.itemFromIndex(index)
it = item.clone()
self.chosenitem_list.addItem(it)
【讨论】:
以上是关于如何在两个 QListWidget 之间移动项目?的主要内容,如果未能解决你的问题,请参考以下文章
在PyQt5中的QTreeWidget和QListWidget之间拖动项目?
将项目从 QTreeWidget 移动到 QListWidget