from tkinter import *
from tkinter.ttk import Treeview
from tkinter import filedialog
from tkinter import messagebox
root= Tk(); # 创建一个窗口
root.geometry("650x630+400+0") #窗口尺寸
root.resizable(False,False) # 不允许改变窗口大小
root.title('我是标题') # 窗口标题
# 在root窗口中输出文字,放置在坐标(1,5)的位置
Label(root,text='文字',width=6,height=1).place(x=1,y=5)
miyao = StringVar() # 输入框控件的值
miyao_input = Entry(root,width=20,textvariable=miyao) # 创建一个输入框控件,并绑定一个值
miyao_input.place(x=45,y=5) # 输入框控件的位置
miyao_val = miyao_input.get() # 获取输入框的值
Button(root,text="导入",width=5,height=1,command=daoru).place(x=200,y=1) # 创建一个按钮并绑定 daoru() 方法
table = Frame(root) # 在root窗口创建一个区域,用来放置表格
table.place(x=10, y=40, height=500)
# 创建一个滚动条控件,默认为垂直方向
sbar1= Scrollbar(table)
# 将滚动条放置在右侧,并设置当窗口大小改变时滚动条会沿着垂直方向延展
sbar1.pack(side=RIGHT, fill=Y)
# 在table区域创建一个表格,指定列的名称,并绑定上面已经创建的滚动条
tree = Treeview(table, columns=('c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7'), show='headings', yscrollcommand=sbar1.set)
# 列的属性 宽、文字居中
tree.column('c1', width=50, anchor='center')
tree.column('c2', width=100, anchor='center')
tree.column('c3', width=70, anchor='center')
tree.column('c4', width=200, anchor='center')
tree.column('c5', width=130, anchor='center')
tree.column('c6', width=70, anchor='center')
tree.column('c7', width=70, anchor='center')
# 创建表头
tree.heading('c1',text='序号')
tree.heading('c2',text='手机号')
tree.heading('c3',text='COM')
tree.heading('c4',text='处理状态')
tree.heading('c5',text='完成时间')
tree.heading('c6',text='操作分组')
tree.heading('c7',text='id')
#显示的列
tree["displaycolumns"]=('c1', 'c2', 'c3', 'c4', 'c5', 'c6')
tree.pack(side=LEFT, fill=Y) # 将表格放置在窗口中
tree['selectmode']="extended" #允许多选
sbar1.config(command=tree.yview) # 用滚动条command属性绑定tree
# 删除列表中的所有数据
tree.delete(*tree.get_children())
# 向列表中添加数据
arr=[1,2,3,4,5,6,7]
item = tree.insert('', i, value=arr)
tree.selection_add(item) # 添加后默认选中该条数据
# 数据选中事件 绑定select_data方法
tree.bind('<<TreeviewSelect>>', select_data)
# 显示主窗口
root.mainloop()
python表格、滚动条
于 2023-03-27 23:52:39 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)