gpt4 book ai didi

python - 如何在 QListWidget 中将项目作为组列出

转载 作者:行者123 更新时间:2023-11-30 23:14:52 27 4
gpt4 key购买 nike

是否可以按组设置QListWidget项目。

例如,如果我将文件夹的内容添加到列表小部件。我想显示文件夹组中的所有文件夹和文件组中的文件。如下图所示。

enter image description here

这可能吗?

最佳答案

为每个组创建一个包含所有项目的列表,按任意属性对列表进行排序,并按所需顺序将项目组添加到列表小部件。组之间或之前可以添加分隔符或标题,组可以获得不同的样式。

例如您的文件/文件夹组:

    files.sort()            # list of files
folders.sort() # list of folders

for f in folders:
item = QtWidgets.QListWidgetItem()
item.setIcon(QtGui.QIcon('icon1.xpm'))
item.setText(f)
# set further properties like font, background ...
item.setFlags(QtCore.Qt.ItemIsSelectable|QtCore.Qt.ItemIsEnabled)
self.listWidget.addItem(item)

item = QtWidgets.QListWidgetItem() # delimiter
item.setText('-----------------------')
item.setFlags(QtCore.Qt.NoItemFlags) # item should not be selectable
self.listWidget.addItem(item)

for f in files:
item = QtWidgets.QListWidgetItem()
item.setIcon(QtGui.Qicon('icon2.xpm'))
item.setText(f)
# set further properties like font, background ...
item.setFlags(QtCore.Qt.ItemIsSelectable|QtCore.Qt.ItemIsEnabled)
self.listWidget.addItem(item)

对于文件和文件夹 QTreeView/QFileSystemModel 可能是另一种解决方案。

以相应的方式使用 QTableWidget 可以将项目分组为行: items grouped in rows

关于python - 如何在 QListWidget 中将项目作为组列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28535986/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com