使用Python中Tkinter模块的Treeview 组件显示ini文件操作

前言:

Tkinter模块的Treeview组件类似于Dev中的treelist控件,但前者还可以当做树控件和表格控件使用,虽然功能可能没有dev和winform控件那么强大,但是在Tkinter中算是比较复杂、用处较多的了。

Treeview组件位于ttk模块,该模块自Tk8.5开始引入,如果 Python 未基于 Tk 8.5 编译,只要安装了 Tile 仍可访问本模块。Treeview支持按层次结构展示一组数据项,用excel做了个简单的示意图(如下所示),Treeview 组件左侧可以理解为一个树控件,右侧可以理解为一个表格,一个数据条目占据一行,横跨树控件和表格控件。Treeview 组件用show属性设置显示方式,值为tree则仅显示树控件,值为headings默认仅显示表格,值为tree headings则显示全部,默认为显示全部。Treeview 组件使用#0引用树控件所在列,而其它列则可以用#1~#No的数字引用,也可以用列名引用。而向Treeview 组件中插入一行值时,用Text属性赋予树控件所在列的值,用values数控赋予其它列的值。

本文中使用的Treeview 组件的主要函数如下所示:

序号 函数名 函数说明
1 Treeview () Treeview 组件的创建函数,可以同时指定父控件、columns、displaycolumns、height、padding、selectmode、show等属性,详细介绍请见参考
2 heading 查询或修改某列的标题,可以设置列标题、列图片等
3 column 查询或修改列 column 的属性
4 insert 函数形式为insert(parent, index, iid=None, **kw),用于插入一条新的数据条目。如果parent是另一歌数据条目的标识,则新条目为另一数据条目的下级。index 是整数或“end”,指明在父项的子项列表中的插入位置

序号函数名函数说明1Treeview ()Treeview 组件的创建函数,可以同时指定父控件、columns、displaycolumns、height、

ini文件算是个两层结构,节属于第一个层,而键值对属于第二层,本文基于Treeview 组件显示ini文件内容,

全部代码及程序运行效果如下所示:

# coding=gbk

import tkinter as tk
from tkinter import ttk
import configparser
from tkinter.filedialog import askopenfilename

def BrowseDri():
    txtFilePath.set(askopenfilename())
    tree = ttk.Treeview(window, height = 15, selectmode = "extended",columns=('key', 'value'), show="tree headings", displaycolumns="#all")
    tree.grid(row=1,column=1)
    tree.heading("#0", text="节", anchor=tk.W)
    tree.heading('key', text="键", anchor=tk.W)
    tree.heading('value', text="值", anchor=tk.W)
    tree.column('#0', width=100)
    tree.column('key', width=200)
    tree.column('value', width=100)

    stu_root = tree.insert("", tk.END, text="ini文件",open=True)

    cfg = configparser.ConfigParser()
    cfg.read(txtFilePath.get())
    print('readed ini file')

    sections = cfg.sections()
    for sec in sections:
        print(sec)
        node = tree.insert(stu_root, tk.END, text=sec,open=True)
        for item in cfg.items(sec):
            print(item)
            tree.insert(node,tk.END,text='',values=(item[0],item[1]))

window=tk.Tk()
window.title('浏览ini文件夹')
window.geometry('600x400')
tk.Button(window,text='选择文件',command=BrowseDri).grid(row=0,column=0)
txtFilePath=tk.StringVar()
tk.Entry(window,textvariable=txtFilePath).grid(row=0,column=1)

tk.Label(window,text='文件内容').grid(row=1,column=0)

window.mainloop()

到此这篇关于使用Python中Tkinter模块的Treeview 组件显示ini文件操作的文章就介绍到这了,更多相关Python显示ini文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中使用tkFileDialog实现文件选择、保存和路径选择

    目录 使用tkFileDialog实现文件选择.保存和路径选择 概述 示例 ImportError: No module named 'tkFileDialog'问题 原因 验证 解决方法 使用tkFileDialog实现文件选择.保存和路径选择 概述 看了下Tkinter的文档,对于Pop-up dialog有三类,现在用到的是tkFileDialog tkFileDialog有三种形式: 一个是:askopenfilename(option=value, …) 这个是”打开”对话框 一个是:

  • tkinter如何实现打开文件对话框并获取文件绝对路径

    目录 tkinter实现打开文件对话框并获取文件绝对路径 tkinter选择路径功能的实现 效果预览 代码 总结 tkinter实现打开文件对话框并获取文件绝对路径 # 首先,导入模块 import tkinter.filedialog # 此处省略父容器的定义 ... # 第2步,定义按钮并指定触发函数self.Command1_Cmd self.style.configure('Command1.TButton',font=('宋体',9)) self.Command1 = Button(s

  • 详解python tkinter包获取本地绝对路径(以获取图片并展示)

    实例代码: import tkinter as tk import tkinter.filedialog import cv2 def choose_file(): # 选择文件 selectFileName = tk.filedialog.askopenfilename(title='选择文件') e.set(selectFileName) def show(e_entry): #显示图片 img = cv2.imread(e_entry.get()) cv2.imshow("PICTURE&

  • 使用Python中Tkinter模块的Treeview 组件显示ini文件操作

    前言: Tkinter模块的Treeview组件类似于Dev中的treelist控件,但前者还可以当做树控件和表格控件使用,虽然功能可能没有dev和winform控件那么强大,但是在Tkinter中算是比较复杂.用处较多的了. Treeview组件位于ttk模块,该模块自Tk8.5开始引入,如果 Python 未基于 Tk 8.5 编译,只要安装了 Tile 仍可访问本模块.Treeview支持按层次结构展示一组数据项,用excel做了个简单的示意图(如下所示),Treeview 组件左侧可以理

  • 对Python中TKinter模块中的Label组件实例详解

    Python2.7.4 OS-W7x86 1. 简介 Label用于在指定的窗口中显示文本和图像.最终呈现出的Label是由背景和前景叠加构成的内容. Label组件定义函数:Label(master=None, cnf={}, **kw) 其中,kw参数是用来自定义lable组件的键值对. 2. 背景自定义 背景的话,有三部分构成:内容区+填充区+边框 <1>内容区参数有:width,length用于指定区域大小,如果显示前景内容是文本,则以单个字符大小为单位:如果显示的是图像,则以像素为单

  • Python中os模块的简单使用及重命名操作

    前言 OS模块虽然基础的时候已经学过了,但是谁让本人属于那种不用立马就忘的人呢,所以在在下爬取某个不可名状的男人都喜欢的网站的时候,在遇到爬取下来的数据需要保存的时候,就需要用到OS模块了 OS模块基础回顾 先回顾一下基础 OS模块用于操作文件夹(基于我的理解) import os os.mkdir("path") # 创建该路径 然后,基础就没了,对的,我学基础OS模块的时候,就学了个这个,在当时来看,还是够用的啦 OS模块小应用 这下面就是本人在写爬虫小程序的时候用到的啦 1. 保

  • Python中Tkinter组件Menu的具体使用

    目录 何时使用 Menu 组件? 用法 参数 方法 Menu(菜单)组件用于实现顶级菜单.下拉菜单和弹出菜单. 何时使用 Menu 组件? Menu 组件通常被用于实现应用程序上的各种菜单,由于该组件是底层代码实现,所以不建议你自行通过按钮和其他组件来实现菜单功能. 用法 创建一个顶级菜单,你需要先创建一个菜单实例,然后使用 add() 方法将命令和其它子菜单添加进去: import tkinter as tk root = tk.Tk() def callback(): print("~被调用

  • Python中Tkinter组件Frame的具体使用

    目录 何时使用 Frame 组件? 用法 参数 Frame(框架)组件是在屏幕上的一个矩形区域.Frame 主要是作为其他组件的框架基础,或为其他组件提供间距填充. 何时使用 Frame 组件? Frame 组件主要用于在复杂的布局中将其他组件分组,也用于填充间距和作为实现高级组件的基类. 用法 Frame 组件可以用于装饰界面: import tkinter as tk master = tk.Tk() tk.Label(text="天王盖地虎").pack() separator

  • Python中Tkinter组件Listbox的具体使用

    目录 何时使用 Listbox 组件? 用法 参数 方法 Listbox(列表框)组件用于显示一个选择列表.Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色.根据组件的配置,用户可以从列表中选择一个或多个选项. 何时使用 Listbox 组件? Listbox 组件通常被用于显示一组文本选项,Listbox 组件跟 Checkbutton和 Radiobutton组件类似,不过 Listbox 是以列表的形式来提供选项的(后两个是通过按钮的形式). 用法 当你创建一个

  • Python中Tkinter组件Button的具体使用

    目录 简介 何时使用 Button 组件? 用法 参数 方法 简介 Button(按钮)组件用于实现各种各样的按钮.Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行. Button 组件仅能显示单一字体的文本,但文本可以跨越多行.另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷键).默认情况下,tab 按键被用于在按钮间切换. 何时使用 Button 组件? 简而言之,Button 组件是用于让用户

  • Python中Tkinter Scrollbar滚动条(窗口滑动条)

    目录 简介 语法 参数 简介 滚动条小部件用于向下滚顶其他小部件的内容,如列表框,文本和画布,但是,我们也可以为Entry小部件创建水平滚动条,常常被用于实现文本,画布和列表框的滚动 可以配合Text组件,Canvas组,Listbox组件一起使用,水平滚动条还能跟Entry组件配合 语法 D = Scrollbar(top,options) 参数 activebackground 鼠标悬停在滑块和箭头上方时他们的颜色 bg 当鼠标不在滑块和箭头上方时,滑块和箭头的颜色 bd 围绕槽的整个周长的

  • python中tkinter的应用:修改字体的实例讲解

    参考链接:tkinter book font字体的参数有如下6个 family: 字体类别,如'Fixdsys' size: 作为一个整数,以点字体的高度.为了获得字体的n个像素高,使用-n. weight: "BOLD" 表示加粗, "NORMAL" 表示正常大小,默认是NORMAL slant:斜体(默认正常), "NORMAL"表示正常,"ITALIC"表示字体倾斜 underline:下划线,1表示添加下滑线,0表示没

  • Python使用tkinter模块实现推箱子游戏

    前段时间用C语言做了个字符版的推箱子,着实是比较简陋.正好最近用到了Python,然后想着用Python做一个图形界面的推箱子.这回可没有C那么简单,首先Python的图形界面我是没怎么用过,在网上找了一大堆教材,最后选择了tkinter,没什么特别的原因,只是因为网上说的多. 接下来就来和大家分享一下,主要分享两点,第一就是这个程序的实现过程,第二点就是我在编写过程中的一些思考. 一.介绍 开发语言:Python 3.7 开发工具:PyCharm 2019.2.4 日期:2019年10月2日

随机推荐