Comment puis-je supprimer un QListWidgetItem d'un QListWidget et rafraîchir l'affichage?
Question
J'utilise un QListWidget pour afficher une liste des QListWidgetItem
Cette liste est lu à partir d'un fichier. Quand je ferme le fichier, je veux vider la liste.
Je l'ai fait cette méthode sur mon:
class QuestionsList(QtGui.QListWidget):
def __init__(self, parent):
super(QuestionsList, self).__init__(parent)
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
self.setProperty("showDropIndicator", False)
self.setAlternatingRowColors(True)
self.quiz = None
def loadQuiz(self, quiz):
self.quiz = quiz
self.flush()
if quiz is not None:
i = 1
for question in quiz.questions_list:
self.addItem(QuestionItem(i, question, self))
i += 1
def flush(self):
for item in [self.item(i) for i in xrange(self.count())]:
print unicode(item.text())
self.removeItemWidget(item)
del item
La méthode loadQuiz fonctionne, la méthode flush imprimer le texte de chaque élément, mais ni méthode, ni removeItemWidget del point fonctionne à vider la liste.
Comment puis-je faire?
Merci
La solution
Pourquoi utiliser wont méthode claire sur QListWidget?
Autres conseils
En fait, removeItemWidget ne fonctionne pas à cet effet.
Voici ma solution
def flush(self):
while self.count() > 0:
self.takeItem(0)
La méthode takeItem (0) fonctionne comme un pop () dans une pile et takeItem. (Count () - 1) comme un pop () dans une file d'attente
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow