2010-10-24 50 views
11

我有一个正常的QListWidget与几个信号和插槽hookedup。一切都按我的预期工作。我可以更新,检索,清除等。QListWidget和多选择

但是UI不会支持多选。

如何为QListWidget“启用”多项选择?我对PyQt的有限经验告诉我,我需要通过继承来创建一个自定义的QListWidget ..但接下来呢?

谷歌给了我C++的答案,但我在寻找的Python

http://www.qtforum.org/article/26320/qlistwidget-multiple-selection.html

http://www.qtcentre.org/threads/11721-QListWidget-multi-selection

回答

16

可惜我不能使用Python特定语法帮助,但你并不需要创建任何子类。

在创建您的QListWidget之后,请拨打setSelectionMode()并选择传入的多种选择类型之一,可能QAbstractItemView::ExtendedSelection是您想要的一种。这种模式有几个变化,你可能想看看。

在你的插槽为itemSelectionChanged()信号,请致电selectedItems()得到QListQListWidgetItem指针。

+0

'extendedSelection'。这就是我一直在寻找的。非常感谢。 – 2010-10-30 15:25:29

15

对于PyQt4的是

QListWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) 
+0

对于PySide,它完全一样。 – darkgaze 2015-10-14 08:32:23