python - 如何从 QListWidget 中删除 QListWidgetItem 并刷新显示?

标签 python qt4 pyqt pyside

我正在使用 QListWidget 来显示 QListWidgetItem 的列表

这个列表是从文件中读取的。当我关闭文件时,我想清空列表。

我在我的 :

上做了这个方法
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

loadQuiz 方法有效,flush 方法打印每个项目的文本,但 removeItemWidget 方法和 del item 方法都无法清空列表。

我该怎么做?

谢谢

最佳答案

我知道这是 already answered ,但我遇到了这个问题,想找到一种方法来删除选定的项。

可以这样做:

def removeSelected(self):
    for item in self.selectedItems():
        self.takeItem(self.row(item))

希望这对外面的人有帮助!

关于python - 如何从 QListWidget 中删除 QListWidgetItem 并刷新显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4203312/

相关文章:

python - 合并列数据框

qt4 - QWebView 不呈现字体

python - 3 秒后隐藏帧/通过调用函数(需要以两种方式完成)

python - 角落里的点是如何称呼的以及如何禁用它们

machine-learning - 具有固定协方差的高斯核密度估计(使用python)

python - sys.argv 和 argv 的区别?

python - 如何将 QWidget() 放在 QStatusBar() 的右端

python-2.7 - 如何在 QCheckBox 文本字符串中包含特殊数学符号?

python - 如何在 QtGui 中创建动画?

python - 通过组合两个 .csv 文件在 python 中创建字典