2017-08-30 112 views
0

我希望我的滾動條位於滾動條的頂部。但是,在當我運行該程序的滾動條的中間顯示出來,如下圖所示:爲什麼我的滾動框不出現在滾動條的頂部?

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,0,但是您沒有定義錨點。默認錨點是「c」(或「center」)。這意味着你的框架的中間將在0,0。

最簡單的解決方案是將錨點設置爲「nw」(代表「西北」)。

mycanvas.create_window(..., anchor="nw") 
相關問題