100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python树形结构显示_Python将字典转换成树状的层次结构 并在tkin中显示

python树形结构显示_Python将字典转换成树状的层次结构 并在tkin中显示

时间:2019-12-25 20:10:25

相关推荐

python树形结构显示_Python将字典转换成树状的层次结构 并在tkin中显示

解决方案是创建一个带有一个额外列的treeview,然后添加一个向树中添加项的函数。如果它是一个子元素,则通过字典的所有元素递归。在

下面是一个使用python2.x的简单示例。我不知道它是否符合你对“优雅”或“轻松”的定义。在import Tkinter as tk

import ttk

DATA = {

"filename":"file.txt",

"filesize":"500kb",

"maxcolwidth": {

"col1":"300",

"col2":"2",

"col3":"3"

},

"numberofcolumns":"3",

"datatypes": {

"col1":"string",

"col2":"int",

"col3":"int"

},

"rowcount":"400"

}

class Example(tk.Frame):

def __init__(self, parent):

tk.Frame.__init__(self, parent)

self.tree = ttk.Treeview(self, columns=("value",))

self.vsb = ttk.Scrollbar(self, orient="vertical", command=self.tree.yview)

self.tree.configure(yscrollcommand=self.vsb.set)

self.vsb.pack(side="right", fill="y")

self.tree.pack(side="top", fill="both", expand=True)

self.addNode(value=DATA, parentNode="")

def addNode(self, value, parentNode="", key=None):

if key is None:

id = ""

else:

id = self.tree.insert(parentNode, "end", text=key)

if isinstance(value, dict):

self.tree.item(id, open=True)

for (key, value) in value.iteritems():

self.addNode(value, id, key)

else:

self.tree.item(id, values=(value,))

if __name__ == "__main__":

root = tk.Tk()

Example(root).pack(fill="both", expand=True)

root.mainloop()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。