小编zwu*_*sel的帖子

Pyside 用列表填充 QTreeView

我搜索了一段时间,但找不到满意的答案来解决我的问题。我需要在 QTreeView 中表示一个列表:

例子:

['.', ['A', 'B', 'C', 'D', 'E', 'F']], ['A', ['G', 'H']], ['A\\G', []], ['A\\H', ['K', 'L']], ['A\\G\\K', []], ['A\\G\\L', []], ['B', ['I', 'J']], ['B\\I', []], ['B\\J', []], ['C', []], ['D', []], ['E', []], ['F', ['M']], ['F\\M', []]
Run Code Online (Sandbox Code Playgroud)

应该这样表示:

.
|____A
     |____H
     |____G
          |____K
          |____L
|____B
     |____I
     |____J
|____C
|____D
|____E
|____F
     |____M
Run Code Online (Sandbox Code Playgroud)

编辑:也许数据准备得不好。我也可以采用这种结构:

[".", "A", "A\\G", "A\\H", "A\\H\\K", "A\\H\\L", "B", "B\\I", "B\\J", "C", "D", "E", "F", "F\\M"]
Run Code Online (Sandbox Code Playgroud)

在控制台中可视化该结构不是问题,但我无法在树视图中得到正确的结果。这是我的节点类和我的 TreeModel

from PySide.QtCore import *
from PySide.QtGui import * …
Run Code Online (Sandbox Code Playgroud)

python list qtreeview pyside qabstractitemmodel

3
推荐指数
1
解决办法
2084
查看次数

PySide:QTreeView 到嵌套字典

我需要帮助从 QTreeView 结构构建分层嵌套字典以获得如下内容:

 {"A": {"B": {"H": {}, "I": {"M": {}, "N": {}}}, "D": {}, "E": {}, "F": {}, "G": {"L": {}}, "C": {"J": {}, "K": {}}}}

{
    "A": {
        "B": {
            "H": {}, 
            "I": {
                "M": {}, 
                "N": {}
             }
        }, 
        "D": {}, 
        "E": {}, 
        "F": {}, 
        "G": {
            "L": {}
        }, 
        "C": {
            "J": {}, 
            "K": {}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我没有使用列,并且 QTreeView 代表一个目录结构(我实际上是从像上面那样的字典中提取它的,只是想在修改树后重新创建该字典)

我已经有这样的事情:

def to_dict(self, _structure={}, _parent=''):
    sublist[self.name()] = self._children

    for child in self._children:
        _structure[self.name()] = sublist
        child.to_dict(_structure, …
Run Code Online (Sandbox Code Playgroud)

python dictionary qtreeview pyside

2
推荐指数
1
解决办法
1681
查看次数