美文网首页
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