使用滚动条调整Python Tkinter画布大小
编辑:我想让 canvas1
的大小可以通过 scrollbar
来调整。当我运行这个时,只有 canvas1
是可见的,框架里没有地方留给 canvas2
。我希望 canvas1
在框架中的大小大约是 300*400,当我滚动时,可以看到整个框架(1000*800)。
我想构建一个包含两个画布的框架,但问题是我不知道怎么把第一个画布放在滚动条里。在下面的代码中,画布的大小太大了,所以第二个画布在框架中没有显示出来。我想要的是把第一个画布的大小固定在滚动条内。我对 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()
1 个回答
0
你想要做的是把画布的 大小 设置为 300x400,然后把画布的 滚动区域 属性设置为 1000x800。
canvas1 = Canvas(..., width=300, height=400, scrollregion=(0,0,1000,800))