簡體   English   中英

如何在QListWidget中將項目列為組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM