【发布时间】:2020-09-17 05:57:44
【问题描述】:
我有一个 python,它显示一个 GUI 应用程序,其中包括处理项目的 qlistwidget,用户可以通过检查它们来选择这些项目,而不是使用它们来选择它们
itemSelectionChanged.connect.
我希望一旦用户检查了所需的项目,系统就会保存它们,以便在 CHECKED 项目上运行另一个功能。
如下图:
这里什么都没有发生。
到目前为止,当用户选择它们时,我能够保存选中的项目。就像这样。
这里现在显示的结果是:
Checked items: event_type, number_person
QlistWidget:
self.header_list = QtWidgets.QListWidget(self)
self.header_list.setObjectName("listWidget")
self.header_list.setMaximumWidth(120)
self.header_list.setSelectionMode(QAbstractItemView.MultiSelection)
self.header_list.itemSelectionChanged.connect(self.selectionChanged)
self.horizontallLayout.addWidget(self.header_list)
selectionChanged 函数:
def selectionChanged(self):
checked = []
for row in range(self.header_list.count()):
item = self.header_list.item(row)
if item.checkState():
checked.append(item)
print("Checked items: ", ", ".join(i.text() for i in checked))
self.checked = [i.text() for i in checked]
那么什么是事件监听器可以替换 itemSelectionChanged 以保存仅检查项目而不选择它们的结果。
【问题讨论】:
标签: python pyqt5 qlistwidget qlistwidgetitem