2013-10-24 55 views
0

我有一個圖像,可以採取可變大小,我想顯示它在一個窗口滾動條,以探索它。 我做了以下無法滾動tkinter中的圖像

 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) 

我的問題:顯示的圖像裁剪,但滾動條「充分」,並有無處滾動到。 然而,我確定我在某處讀到滾動條必須有框架作爲父母

回答

1

您必須告訴畫布小部件大型虛擬畫布的哪部分應該可見。您可以通過設置畫布的scrollregion屬性來執行此操作。通常你傳入bbox方法的結果,該方法給出畫布中對象的邊界框。特殊字符串"all"爲您提供了所有畫布對象都可以放入的框的座標。

例如:

conncv.configure(scrollregion=conncv.bbox("all")) 
+0

就是這樣,謝謝! – alessandro