【发布时间】:2020-09-03 18:25:34
【问题描述】:
我创建了一个画布 c,我想在画布中放置一个滚动条来向下和向上滚动我放在画布中的所有东西(我打算放很多东西)。但是滚动条不起作用。我做错了什么?
from tkinter import *
root = Tk()
c=Canvas(root)
c.config(width=160,height=100)
c.grid(row=0,column=0)
Scrb=Scrollbar(root,orient=VERTICAL)
Scrb.grid(column=2)
c.config(scrollregion=c.bbox("all"))
c.config(yscrollcommand=Scrb.set)
Scrb.config(command=c.yview)
label = Label(c, text="this is to fill room")
label1 = Label(c, text="this is to fill room")
label2 = Label(c, text="this is to fill room")
label3 = Label(c, text="this is to fill room")
label4 = Label(c, text="this is to fill room")
label5 = Label(c, text="this is to fill room")
label6 = Label(c, text="this is to fill room")
list_labels = [label,label1,label2,label3,label4,label5,label6]
for i in range(0,7):
list_labels[i].grid(row=i,column=0)
root.mainloop()
【问题讨论】:
-
您需要将 tkinter 窗口对象作为参数添加到
Scrollbar()方法中,而不是您的画布对象:Scrb=Scrollbar(root,orient=VERTICAL) -
谢谢@Max,现在看起来好多了,但还是不行。以及如何连接滚动条来滚动画布?
标签: python python-3.x tkinter canvas scrollbar