2014-04-20 128 views
0

被修改:我想要使用scrollbar來調整canvas1的大小。當我運行這個,只有canvas1是可見的沒有地方留在框架上canvas2。我想在框架上的canvas1的大小是在300 * 400附近,當我滾動它以可視化整個框架(1000 * 800)python tkinter使用滾動條的畫布大小

我想用兩個畫布構造一個框架。但問題是,我不知道如何適應滾動條內的第一個畫布。在下面的代碼中,畫布的大小很大,因爲第二個畫布不顯示在框架中。我想要的是修復滾動條內第一個畫布的大小。是新來的Tkinter所以不知道該怎麼做 我會非常感謝你的幫助

root=Tk() 

master=Frame(root,width=300,height=300) 
master.grid(row=0,column=0) 

xscrollbar = Scrollbar(master, orient=HORIZONTAL) 
xscrollbar.grid(row=1, column=0, sticky=E+W) 
yscrollbar = Scrollbar(master) 
yscrollbar.grid(row=0, column=1, sticky=N+S) 

canvas1=Canvas(master, width=1000, height=800, background='white',xscrollcommand=xscrollbar.set,yscrollcommand=yscrollbar.set) 
canvas1.grid(row=0,column=0, sticky=N+S+E+W) 
xscrollbar.config(command=canvas1.xview) 
yscrollbar.config(command=canvas1.yview) 

canvas2=Canvas(master, width=100, height=200, background='pink',xscrollcommand=xscrollbar.set,yscrollcommand=yscrollbar.set) 
canvas2.grid(row=2,column=0) 

mainloop() 
+0

我不明白「修復滾動條內的畫布大小」(特別是「在滾動條內」 - 畫布不在「滾動條」中)。代碼似乎正在做你想要的 - 你得到一個1000x800的畫布和一個100x200的畫布。我也不知道你的意思是不顯示第二個,我看到了粉色和白色的帆布。你可以試着重新回答你的問題嗎? –

回答

0

你想要做的是設置畫布大小是300x400,然後設置scrollregion屬性是什麼的畫布爲1000 * 800。

canvas1 = Canvas(..., width=300, height=400, scrollregion=(0,0,1000,800)) 
相關問題