簡體   English   中英

Tkinter畫布中的多個圖像

[英]Multiple Images in a Tkinter canvas

我對此代碼有疑問。 實際上,1.使用url下載圖像2.將這些圖像保存到服務器中3.在畫布中顯示它們

我遇到的問題是,它僅顯示列表中的最后一張圖像(在本例中為url2中的img2),而不是第一張,即使我確實在畫布中為第一張圖像添加了空白。

任何人都知道我在這里想念的東西。 我感謝您的幫助。

還有其他方法可以獲取圖像並在畫布中顯示,而無需將其保存到本地。


class open_child_window:
    def init(self, master):
        self.master = master
        master.title("Img")

url1 ="http:img1" url2 ="http:img2" vscrollbar = Tk.Scrollbar(self.master,orient=VERTICAL) hscrollbar=Tk.Scrollbar(self.master,orient=HORIZONTAL) self.canvas= Tk.Canvas(self.master,background = "White",yscrollcommand=vscrollbar.set,xscrollcommand=hscrollbar.set) self.frame = Tk.Frame(self.canvas) vscrollbar.config(command=self.canvas.yview) vscrollbar.pack(side=Tk.RIGHT, fill=Tk.Y) hscrollbar.pack(side=Tk.BOTTOM,fill=Tk.X) hscrollbar.config(command=self.canvas.xview) self.canvas.create_window(0,0,window=self.frame, anchor='nw') self.list_images = [] contents = urllib.request.urlopen(ur1l) plt.imshow(plt.imread(contents)) file_name = "./img1.png" plt.savefig(file_name, format='png', dpi=180) gif1 = PhotoImage(file = file_name) self.canvas.image_names = gif1 self.canvas.create_image(50, 10, image = gif1, anchor = NW) contents = urllib.request.urlopen(url2) plt.imshow(plt.imread(contents)) file_name = "./img2.png" plt.savefig(file_name, format='png', dpi=180) gif2 = PhotoImage(file = file_name) self.canvas.image_names = gif2 self.canvas.create_image(600, 700, image = gif2, anchor = NW) self.master.update() self.canvas.config(scrollregion=self.canvas.bbox("all")) self.canvas.pack(side="top",fill='both',expand=True) self.frame.pack()

我能夠解決我的問題。

萬一有其他人在尋找解決方案。

在gif1和gif2前面添加了self,例如self.gif1和self.gif2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM