无法在tkinter中滚动图像
我有一个图像,可以假设不同的大小,我想在一个带有滚动条的窗口中显示它,以探索它。 我做了以下几件事无法在tkinter中滚动图像,tkinter,Tkinter,我有一个图像,可以假设不同的大小,我想在一个带有滚动条的窗口中显示它,以探索它。 我做了以下几件事 connroot = Toplevel() connfr = Frame(connroot) conncv = Canvas(connfr, relief=SUNKEN) sbarV = Scrollbar(connfr, orient=VERTICAL) sbarH = Scrollbar(connfr, orien
connroot = Toplevel()
connfr = Frame(connroot)
conncv = Canvas(connfr, relief=SUNKEN)
sbarV = Scrollbar(connfr, orient=VERTICAL)
sbarH = Scrollbar(connfr, orient=HORIZONTAL)
sbarV.config(command=conncv.yview)
sbarH.config(command=conncv.xview)
conncv.config(yscrollcommand=sbarV.set)
conncv.config(xscrollcommand=sbarH.set)
sbarV.pack(side=RIGHT, fill=Y)
sbarH.pack(side=BOTTOM, fill=X)
conncv.pack(side=LEFT, expand=YES, fill=BOTH)
connfr.pack()
然后在给定的事件中,我显示图像:
photoconn = PhotoImage(file=tg)
conncv.create_image(0,0, anchor=NW, image=photoconn)
img.append(photoconn)
我的问题是:显示的图像被裁剪了,但是滚动条是“满的”,没有地方可以滚动。
但是我确信我在某个地方读到,滚动条必须具有作为父对象的框架您必须告诉画布小部件应该可以查看大型虚拟画布的哪个部分。您可以通过设置画布的
scrollregion
属性来实现这一点。通常,传入bbox
方法的结果,该方法给出画布中对象的边界框。特殊字符串“all”
提供了一个框的坐标,所有画布对象都可以放在这个框中
例如:
conncv.configure(scrollregion=conncv.bbox("all"))