[英]How to list items as groups in QListWidget
是否可以在組中設置QListWidget項。
例如,如果我將文件夾的內容添加到listwidget。 我想顯示文件夾組中的所有文件夾和文件組中的文件。 如下圖所示。
可能嗎。
為每個組創建包含所有項目的列表,按任意屬性對列表進行排序,並按所需順序將項目組添加到listwidget。 在組之間或組之前可以添加分隔符或標題,組可以獲得不同的樣式。
例如你的文件/文件夾組:
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項可以按行分組:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.