Python可视化编程 | ListView表格

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

不同于C#语言,Tkinter库没有提供专门的ListView表格控件,而是使用TreeView,这一点令人觉得有点奇怪,但使用起来也不是太复杂。

创建表格,插入数据

举例:实现一个显示联系人的表格:

import tkinter
from tkinter import ttk

window = tkinter.Tk()

# 实例化控件,设置表头样式和标题文本
columns = ("name", "tel", "email", "company")
headers = ("姓名", "电话", "邮箱", "公司")
widthes = (120, 120, 250, 250)
tv = ttk.Treeview(window, show="headings", columns=columns)

for (column, header, width) in zip(columns, headers, widthes):
    tv.column(column, width=width, anchor="w")
    tv.heading(column, text=header, anchor="w")

def inser_data():
    """插入数据"""
    contacts =[
        ('张三', '1870591xxxx', '[email protected]', '腾讯'),
        ('李斯', '1589928xxxx', '[email protected]', '谷歌'),
        ('王武', '1340752xxxx', '[email protected]', '微软'),
        ('麻溜儿', '1361601xxxx', '[email protected]', '阿里'),
        ('郑和', '1899986xxxx', '[email protected]', '网易'),
    ]
    for i, person in enumerate(contacts):
        tv.insert('', i, values=person)

tv.pack()

inser_data()

window.mainloop()

显示效果:


Tkinter表格

获取数据

def get_data():
    item = tv.get_children()[0]
    print(tv.item(item, "values"))

修改单元格数据

修改第一行姓名为“张一山”:

def modify_data():
    item = tv.get_children()[0]
    tv.set(item, column="name", value="张一山")
    print(tv.item(item, "values"))

删除一行

def del_data():
    items = tv.get_children()[1:2]
    tv.delete(items)

你可能感兴趣的:(Python可视化编程 | ListView表格)