Good Luck To You!
以前我做了一个代码,就是为tkinter画布canvas做水平和垂直滚动条,代码可用于浏览大尺寸的图片,现在我把它改写一下,以类的方式来写。
在代码中,要注意设定图片的滚动尺寸,因为我的图片尺寸是425X200,所以我设定的滚动条的滚动范围就正好是这个图片的尺寸 。
代码如下: 冫亓垚
from tkinter import *
class App(Frame):
def __init__(self,master=None):
self.img1=PhotoImage(file='car.png') # 先在代码目录里准备好一个图片
Frame.__init__(self,master)
self.grid()
self.creat()
def creat(self):
self.scr1=Scrollbar(root) # 垂直滚动条
self.scr1.grid(row=0,column=1,sticky=NS)
self.scr2=Scrollbar(orient=HORIZONTAL) # 水平滚动条
self.scr2.grid(row=1,column=0,sticky=EW)
self.can1=Canvas(self,width=200,height=150,bg='lightblue')
self.can1.grid(row=0,column=0)
self.can1.create_image(0,0,image=self.img1,anchor=NW)
self.can1.config(xscrollcommand = self.scr2.set) # 画布与水平滚动条互相绑定
self.scr2.config(command =self.can1.xview)
self.can1.config(yscrollcommand = self.scr1.set) # 画布与垂直滚动条互相绑定
self.scr1.config(command = self.can1.yview)
self.can1.config(scrollregion=(0,0,425,200)) # 设定滚动的范围
root=Tk()
root.rowconfigure(0,weight=1)
root.columnconfigure(0,weight=1)
root.title('画布滚动条 aying7.com')
app=App(root)
app.mainloop()运行图:

以上代码由 aying7.com 测试成功
来源:阿英工作室
本文链接:http://aying7.com/post/8.html