python tkinter滚动条与grid_python – tkinter带网格的画布滚动条?
时间: 2023-09-30 14:03:30 浏览: 224
可以使用`tkinter`中的`Scrollbar`和`Canvas`来实现带网格的画布滚动条。
首先,创建一个`Canvas`和两个`Scrollbar`,一个用于垂直方向,一个用于水平方向。然后,将`Scrollbar`与`Canvas`绑定,使其能够控制`Canvas`的滚动。
以下是一个简单的示例代码,可以使用该代码创建一个带网格的画布滚动条:
```python
import tkinter as tk
root = tk.Tk()
# 创建画布
canvas = tk.Canvas(root, width=300, height=300)
canvas.grid(row=0, column=0, sticky="nsew")
# 创建垂直滚动条
v_scrollbar = tk.Scrollbar(root, orient="vertical", command=canvas.yview)
v_scrollbar.grid(row=0, column=1, sticky="ns")
# 创建水平滚动条
h_scrollbar = tk.Scrollbar(root, orient="horizontal", command=canvas.xview)
h_scrollbar.grid(row=1, column=0, sticky="ew")
# 将画布与滚动条绑定
canvas.configure(yscrollcommand=v_scrollbar.set, xscrollcommand=h_scrollbar.set)
# 创建网格
for i in range(50):
for j in range(50):
canvas.create_rectangle(i*10, j*10, (i+1)*10, (j+1)*10)
root.mainloop()
```
该代码中,我们创建了一个300x300的画布,并创建了一个垂直和一个水平滚动条。然后,我们将它们与画布绑定,使得它们能够控制画布的滚动。最后,我们在画布上创建了一个50x50的网格。
阅读全文