mport sys
from PySide6.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem
# 定义一个包含项目结构的字典,以将信息显示为树,其中包含属于每个项目的文件:
data = {"Project A": ["file_a.py", "file_a.txt", "something.xls"],
"Project B": ["file_b.csv", "photo.jpg"],
"Project C": []}
# 初始化单例:QApplication
app = QApplication()
# 将 配置为具有两列,一列用于项目名称,另一列用于项目目录中文件的项类型信息。您可以使用如下所述设置列名称:QTreeWidgetsetHeaderLabels
tree = QTreeWidget()
tree.setColumnCount(2)
tree.setHeaderLabels(["Name", "Type"])
# 循环访问数据结构,创建元素,并将相应的子元素添加到每个父级。我们还仅提取文件的扩展名,并将它们添加到第二列中。在构造函数中,您可以看到每个元素 () 都添加到树的不同列 ()中。QTreeWidgetItemQTreeWidgetItemQTreeWidget
items = []
for key, values in data.items():
item = QTreeWidgetItem([key])
for value in values:
ext = value.split(".")[-1].upper()
child = QTreeWidgetItem([value, ext])
item.addChild(child)
items.append(item)
tree.insertTopLevelItems(0, items)
# 显示树并执行 .QApplication
tree.show()
sys.exit(app.exec())
结果