pyqt :将 QListWidget 中存在的所有值显示为选择给用户

我已经搜索了很多,但我无法找到执行此操作的解决方案。

我有一个 QListWidget,它将填充一个值列表。我需要在列表中实现“全选”作为默认行为。

我已经使用了 MultiSelection 并且效果很好,但是需要避免单击每个项目,以防用户想要对列出的所有项目进行更新。

有人可以帮助我了解如何做到这一点吗?


哔哔one
浏览 149回答 2
2回答

慕少森

用 QtWidgets.QAbstractItemView.ExtendedSelection当用户以通常的方式选择一个项目时,选择被清除并选择新项目。但是,如果用户在单击某个项目时按下 Ctrl 键,则单击的项目将被切换并且所有其他项目保持不变。如果用户在单击项目时按下 Shift 键,则当前项目和单击项目之间的所有项目都被选中或取消选中,具体取决于单击项目的状态。可以通过将鼠标拖到多个项目上来选择它们。import sysfrom PyQt5 import QtWidgetsif __name__ == '__main__':    app = QtWidgets.QApplication(sys.argv)    w = QtWidgets.QListWidget()    for i in range(12):        w.addItem('Item {}'.format(i))    w.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)      #w.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)      w.show()    sys.exit(app.exec_())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python