【问题标题】:Qt directory tree from data来自数据的 Qt 目录树
【发布时间】:2015-11-20 10:38:00
【问题描述】:

我想从变量(不是驱动器上的物理变量)中的数据创建文件目录树。 我有这样的数据:
data = ['folder1/file1', 'file2', 'file3', 'folder2/'file4']
我想把它展示成一个目录树。

  • 文件夹 1
    • 文件1
  • 文件夹2
    • 文件4
  • 文件2
  • 文件3

我刚刚找到了如何为现有文件夹执行此操作的答案。 它不一定是 Python 代码,我想我可以从任何其他语言中读取我需要的内容。
我应该使用哪个类以及如何将数据传递给它?

问候,
马立克

【问题讨论】:

标签: python qt pyqt


【解决方案1】:

这应该让你开始:

import sys
from PySide.QtCore import *
from PySide.QtGui import *

app = QApplication(sys.argv)

data = ['folder1/file1', 'file2', 'file3', 'folder2/file4']

treeWidget = QTreeWidget()
treeWidget.setColumnCount(1)
treeWidget.setMinimumSize(600, 400)

items = []

for item in data:
    itemparts = item.split('/')

    entry = QTreeWidgetItem(None, [itemparts[0]])
    partentitem = entry

    if len(itemparts) > 1:
        for i in itemparts[1:]:
            childitem = QTreeWidgetItem(None, [i])
            partentitem.addChild(childitem)
            partentitem = childitem

    items.append(entry)

treeWidget.insertTopLevelItems(0, items)

treeWidget.show()
app.exec_()

【讨论】:

  • 谢谢,很有用,但我已经使用了 QStandardItemModel 和 QStandardItem。工作原理与您的几乎相同。 :)
  • @joto。在那种情况下,你为什么问这个问题?而且,更重要的是,您的问题究竟是什么
  • 因为我是问了一个问题才编出来的:)
  • 终于用你的方法修改了。你可以看到它here@L-rac
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多