为什么我的滚动框不出现在滚动条的顶部?

2024-09-28 05:21:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望我的滚动框位于滚动条的顶部。但是当我运行程序时,它出现在滚动条的中间:

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()

Tags: https程序comconfigstackrootwindowfill
1条回答
网友
1楼 · 发布于 2024-09-28 05:21:54

您为窗口指定的坐标为0,0,但未定义定位点。默认锚点为“c”(或“中心”)。这意味着帧的中间将位于0,0

最简单的解决方案是将锚点设置为“nw”(表示“西北”)

mycanvas.create_window(..., anchor="nw")

相关问题 更多 >

    热门问题