解决方案是创建一个带有一个额外列的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()

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

  1. Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况)

    Python使用matplotlib绘制数据去重前后的柱状图对比图(在同一个图中显示去重操作之后同一数据集的变化情况) #仿真数据 import pandas as pd import numpy a ...

  2. 权限列表(包字典)递归成树状结构

    权限列表(包字典)递归成树状结构 def per_data(permission_list, parent_id):tree = []for per in permission_list:if per ...

  3. js 将二维对象数组转换成树状结构数据

    const list = [{ id: 2, key: { id: 1, name: '测试' }, value: { id: 2, name: 'waer' } },{ id: 3, key: { ...

  4. php树形结构变成线性结构,php把数据集转换成树状结构,无限极分类生成树状 – CSDN博客...

    直接上代码,在onethink里面使用的转换树状结构/** * 把返回的数据集转换成Tree * @param array $list 要转换的数据集 * @param string $pid par ...

  5. python pdf处理 图片_Python 将pdf转换成txt(不处理图片)

    上一篇文章中已经介绍了简单的python爬网页下载文档,但下载后的文档多为doc或pdf,对于数据处理仍然有很多限制,所以将doc/pdf转换成txt显得尤为重要.查找了很多资料,在linux下要将d ...

  6. python隐式类型转换_python隐式转换_Python | 数据类型的转换 显式转换 隐式转换

    显式转换 # 首先对要转换的数据进行变量的声明 float_number = 1.5 int_number = 2 # 其他类型转换到字符串,使用的是str()函数 # 浮点数转字符串 float_t ...

  7. python字典的内置函数_python – 用于字典转换的特殊方法名称的内置函数

    我一直在深入研究Python类中的运算符重载和特殊方法,并且我注意到许多内置函数具有等效的特殊方法名称: > int(x)调用x .__ int __() > next(x)在Python ...

  8. python顺序结构代码_Python代码结构——顺序、分支、循环

    ## 顺序结构 - 按照从上到下的顺序,一条语句一条语句的执行,是最基本的结构 ## 分支结构 if condition: statement statement ... elif condition ...

  9. python 录音 转码_python 音乐格式转换

    参考地址:https://blog.csdn.net/pj_developer/article/details/72778792 1.本方案的核心是利用ffmpeg音频转换程序,思路是直接通过pyth ...

最新文章

  1. STL容器的基本特性和特征
  2. 是把计算机分析和恢复力实测,土木工程测试试题.docx
  3. PC微信逆向:分析发送xml名片call
  4. 【ABAP】Field Symbol使用总结
  5. 基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现(by 低端码农 2014.10.27)
  6. 利用chrome的Timeline观测系统的内存回收逻辑
  7. java创建单线程计时器_我们如何在Java中实现计时器线程?
  8. mysql按年创建分区表,增加分区表,删除分区表,实战练习
  9. Python稳基修炼之计算机等级考试易错概念题2(含答案与解析)
  10. C#读取数据库返回泛型集合(DataSetToList)
  11. 2016.8.27一套简单的题解题报告
  12. D. Array Splitting
  13. 计算机应用202001常规,2001年4月份全国高等教育自学考试计算机应用基础试题
  14. ionCube 安装
  15. TCP粘包问题以及解决方法
  16. SVN命令使用提示版本过旧的问题E155019
  17. Celery介绍--手机短信异步发送
  18. Firefox for Mac(火狐浏览器 mac)一款速度快到飞起的浏览器
  19. Android本地备份功能禁用
  20. hdu 5148 Cities dp

热门文章

  1. mysql分頁查詢_mysql分頁查詢 | 學步園
  2. go ssh 执行多个命令_Gox语言中通过SSH远程执行命令及上传下载文件-GX10
  3. 条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码
  4. 。。。,带着这三点疑问,让我们层层深入的对HTTPS原理进行剖析!
  5. Java中try catch的原则
  6. 字符串、文件操作,英文词频统计预处理
  7. 链接选项-rpath的一个问题记录
  8. vue再次入手(数据传递①)
  9. BZOJ2440 [中山市选2011]完全平方数
  10. Oracle的锁表与解锁