2010-10-24 14 views
11

J'ai un QListWidget régulier avec quelques signaux et connecteurs branchés. Tout fonctionne comme je l'attends. Je peux mettre à jour, récupérer, effacer, etc.QListWidget et sélection multiple

Mais l'interface utilisateur ne supporte pas les sélections multiples. Comment activer les sélections multiples pour QListWidget? Mon expérience limitée avec PyQt me dit que j'ai besoin de créer un QListWidget personnalisé en sous-classe .. mais que faire ensuite?

Google m'a donné des réponses C mais de je cherche Python

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

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

Répondre

16

Malheureusement, je ne peux pas aider à la syntaxe spécifique Python, mais vous n'avez pas besoin de créer une sous-classes. Une fois votre QListWidget créé, appelez setSelectionMode() avec l'un des types de sélection multiples passés, probablement QAbstractItemView::ExtendedSelection est celui que vous voulez. Il y a quelques variations sur ce mode que vous voudrez peut-être regarder.

Dans votre emplacement pour le signal itemSelectionChanged(), appelez selectedItems() pour obtenir un QList de QListWidgetItem pointeurs.

+0

'extendedSelection'. C'est ce que je cherchais. Merci beaucoup. –

15

Pour pyqt4 il est

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

Pour PySide, c'est exactement pareil. – darkgaze