【问题标题】:Multiple Images in a Tkinter canvasTkinter 画布中的多个图像
【发布时间】:2018-05-17 21:46:10
【问题描述】:

我对此代码有疑问。 实际上, 1.使用url下载图片 2.将这些图像保存到服务器中 3. 在画布中显示它们

我遇到的问题是它只显示列表中的最后一个图像(在这种情况下是来自 url2 的 img2),而不是第一个,即使我确实看到在 Canvas 中为第一个图像添加了一个空白区域.

任何人都知道我在这里缺少什么。感谢您的帮助。

有没有其他方法可以获取图像并在画布中显示,而无需将它们保存到本地。


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()

【问题讨论】:

    标签: python image tkinter tkinter-canvas


    【解决方案1】:

    我能够解决我的问题。

    以防万一其他人在寻找解决方案。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-13
      • 2021-05-04
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多