使用tree显示目录

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())

结果

 

posted @   菩提浪子  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示