我有一个普通的QListWidget
,有几个信号和插槽。一切都像我期望的那样工作。我可以更新,检索,清除等。
但是UI不支持多个选择。
如何为QListWidget
“启用”多重选择?我有限的PyQt经验告诉我,我需要通过子类化来创建一个自定义的QListWidget
......但接下来该怎么做呢?
Google给了我C++的答案,但我在寻找Python
http://www.qtforum.org/article/26320/qlistwidget-multiple-selection.html
http://www.qtcentre.org/threads/11721-QListWidget-multi-selection
6条答案
按热度按时间kognpnkq1#
不幸的是,我不能帮助Python特定的语法,但你不需要创建任何子类。
创建
QListWidget
后,用传入的多个选择类型之一调用setSelectionMode()
,可能QAbstractItemView::ExtendedSelection
就是您想要的。在
itemSelectionChanged()
信号的插槽中,调用selectedItems()
以获取QListWidgetItem
指针的QList
。6yoyoihd2#
对于PyQT4,
4jb9z9bj3#
在listWidget中通过多个选择获取多个选定值的示例。
输出:-
p5fdfcr14#
使用PyQt5,您可以通过以下方式将QListWidget的SelectionMode设置为允许多重选择:
其中
参考文献
在Qt Creator中,您可以在此处找到此选项:
bhmjp9jg5#
此外,你可以使用列表理解来获取所选的项,例如
7jmck4yq6#
在搜索了很长时间后,我发现他们在PyQt6中更改了这一点。现在您必须执行以下操作:
基本上,您必须从小部件导入
QAbstractItemView
,并使用正确的选择模式