Python 如何在tkinter中使用迭代显示同一图像的多个

Python 如何在tkinter中使用迭代显示同一图像的多个,python,tkinter,Python,Tkinter,所以,我试着显示相同的图像,它应该能够显示10个相同的图片,我还想知道在哪里可以使用pady和padx来分隔图片 以下是我迄今为止所尝试的: for img in range(10): canvas = Canvas(self.frame, width=30, height=30) canvas.pack() img = ImageTk.PhotoImage(Image.open("DicePic.

所以,我试着显示相同的图像,它应该能够显示10个相同的图片,我还想知道在哪里可以使用pady和padx来分隔图片

以下是我迄今为止所尝试的:

        for img in range(10):
            canvas = Canvas(self.frame, width=30, height=30)
            canvas.pack()
            img = ImageTk.PhotoImage(Image.open("DicePic.jpeg"))
            canvas.create_image(50, 50, anchor=NW, image=img)
            self.frame.mainloop()

这回答了你的问题吗?您从不在任何图像容器中使用
self.dicePic
,如
Label
Canvas
,因此不会显示图像。另一个问题是,对于
PhotoImage()
的十个实例,您使用了相同的实例变量
self.dicePic
。好的,我尝试修复了我的代码,但它仍然无法显示图片您不应该在循环中调用
mainloop
mainloop
本身就是一个循环,顾名思义。画布的大小也是30x30像素,但您将图像放置在画布可视区域之外的
(50,50)
。您应该只为不同位置的所有图像创建一个画布,而不是为每个图像创建一个画布。