[英]Why doesn't my scroll box appear at the top of the scroll bar?
我希望我的滚动框位于滚动条的顶部。 但是当我运行程序时,它显示在滚动条的中间,如下所示:
https://i.stack.imgur.com/EfxMJ.png
我希望滚动条位于顶部,以便显示窗口中的第一个小部件。 但是由于某种原因,我无法弄清楚,滚动框出现在中间。 这是我的代码。 我该怎么做才能修复此错误?
from tkinter import *
root = Tk()
root.geometry("640x480")
def scrollFunc(event):
mycanvas.config(scrollregion=mycanvas.bbox('all'))
mycanvas=Canvas(root)
mycanvas.pack(fill=BOTH, expand=True)
myframe = Frame(mycanvas)
mycanvas.create_window((0,0), window=myframe)
myscrollbar = Scrollbar(mycanvas, command=mycanvas.yview)
myscrollbar.pack(side=RIGHT, fill=Y)
mycanvas.config(yscrollcommand=myscrollbar.set)
for x in range(1, 101):
Label(myframe, text="Label: "+str(x)).pack()
mycanvas.bind("<Configure>", scrollFunc)
root.mainloop()
您给窗口指定了0,0的坐标,但是没有定义锚点。 默认锚点为“ c”(或“中心”)。 这意味着帧的中间将为0,0。
最简单的解决方案是将锚点设置为“ nw”(代表“西北”)。
mycanvas.create_window(..., anchor="nw")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.