无法在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"))