为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哔哔one 2021-06-30 09:01:55
我已经搜索了很多,但我无法找到执行此操作的解决方案。我有一个 QListWidget,它将填充一个值列表。我需要在列表中实现“全选”作为默认行为。我已经使用了 MultiSelection 并且效果很好,但是需要避免单击每个项目,以防用户想要对列出的所有项目进行更新。有人可以帮助我了解如何做到这一点吗?
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

用 QtWidgets.QAbstractItemView.ExtendedSelection


当用户以通常的方式选择一个项目时,选择被清除并选择新项目。但是,如果用户在单击某个项目时按下 Ctrl 键,则单击的项目将被切换并且所有其他项目保持不变。如果用户在单击项目时按下 Shift 键,则当前项目和单击项目之间的所有项目都被选中或取消选中,具体取决于单击项目的状态。可以通过将鼠标拖到多个项目上来选择它们。


import sys

from PyQt5 import QtWidgets


if __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_())


查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号