美文网首页
Python可视化编程 | ListView表格

Python可视化编程 | ListView表格

作者: 不思九八 | 来源:发表于2020-01-11 23:31 被阅读0次

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', 'zhang@qq.com', '腾讯'),
        ('李斯', '1589928xxxx', 'lisi@google.com', '谷歌'),
        ('王武', '1340752xxxx', 'wangwu@baidu.com', '微软'),
        ('麻溜儿', '1361601xxxx', 'maliur@alibaba.com', '阿里'),
        ('郑和', '1899986xxxx', 'zhenghe@163.com', '网易'),
    ]
    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表格

      本文链接:https://www.haomeiwen.com/subject/fdzbactx.html