2014-04-20 127 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)) 
相关问题