tkinter给容器上滚动条
时间: 2023-06-09 15:03:55 浏览: 109
可以使用tkinter中的Scrollbar和Canvas来实现,在Canvas上创建需要滚动的内容,在Scrollbar上绑定Canvas的滚动功能。以下是一个示例代码:
```python
import tkinter as tk
root = tk.Tk()
# 创建一个Canvas
canvas = tk.Canvas(root, width=400, height=300)
canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
# 在Canvas上创建若干个子控件
frame = tk.Frame(canvas)
for i in range(50):
label = tk.Label(frame, text="Label {}".format(i))
label.pack(side=tk.TOP)
# 将子控件放到Canvas中
canvas.create_window((0, 0), window=frame, anchor=tk.NW)
# 创建一个Scrollbar
scrollbar = tk.Scrollbar(root, command=canvas.yview)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
# 绑定Canvas和Scrollbar的滚动功能
canvas.configure(yscrollcommand=scrollbar.set)
root.mainloop()
```
在这个示例中,我们创建了一个Canvas和一个Scrollbar,将容器中的子控件放到了Canvas上,并将Canvas放到主窗口的左侧,Scrollbar放到主窗口的右侧。然后通过configure方法将Canvas和Scrollbar绑定,使得当Scrollbar滚动时,Canvas也跟着滚动。
阅读全文