python tkinter 表格使用滚动条
时间: 2023-10-24 15:21:57 浏览: 64
在 Python 中,使用 Tkinter 库可以创建 GUI 应用程序。要创建带有滚动条的表格,可以使用 Tkinter 的 Canvas 和 Scrollbar 组件。
以下是一个简单的示例代码,用于创建一个带有滚动条的表格:
```python
import tkinter as tk
# 创建主窗口
root = tk.Tk()
# 创建 Scrollbar 组件
scrollbar = tk.Scrollbar(root)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
# 创建 Canvas 组件
canvas = tk.Canvas(root, yscrollcommand=scrollbar.set)
canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
# 添加滚动条
scrollbar.config(command=canvas.yview)
# 创建表格
table = tk.Frame(canvas)
table.pack(fill=tk.BOTH, expand=True)
# 添加表格内容
for i in range(100):
for j in range(10):
label = tk.Label(table, text="{} {}".format(i, j))
label.grid(row=i, column=j)
# 将表格添加到 Canvas 中
canvas.create_window(0, 0, anchor=tk.NW, window=table)
# 让 Canvas 适应表格大小以及添加滚动条功能
table.update_idletasks()
canvas.config(scrollregion=canvas.bbox(tk.ALL))
# 运行主循环
root.mainloop()
```
在这个例子中,我们先创建了一个主窗口 `root`,然后创建了一个 `Scrollbar` 组件和一个 `Canvas` 组件,并将 `Scrollbar` 放置在右侧,将 `Canvas` 放置在左侧,并让 `Canvas` 充满整个窗口。
接着,我们创建了一个表格 `table`,并向其中添加了一些内容。然后,我们使用 `canvas.create_window` 方法将表格添加到 `Canvas` 中,并使用 `table.update_idletasks()` 方法让 `Canvas` 适应表格的大小。最后,我们使用 `canvas.config(scrollregion=canvas.bbox(tk.ALL))` 方法添加滚动条功能。
注意,这个例子只是一个简单的示例,实际应用中可能需要根据需要对代码进行修改和优化。