Python 创建多个Tkinter画布图像的最佳方法?
在我的程序中,我在画布上创建了许多图像,但是,我觉得我目前的做法效率低下,而且重复性很强。以下是该计划的基本结构:Python 创建多个Tkinter画布图像的最佳方法?,python,tkinter,Python,Tkinter,在我的程序中,我在画布上创建了许多图像,但是,我觉得我目前的做法效率低下,而且重复性很强。以下是该计划的基本结构: import tkinter as tk from PIL import Image, ImageTk CANVAS_IMG = ['image1', 'image2', 'image3', 'image4'] class MyApp: def __init__(self, parent): self.parent = parent se
import tkinter as tk
from PIL import Image, ImageTk
CANVAS_IMG = ['image1', 'image2', 'image3', 'image4']
class MyApp:
def __init__(self, parent):
self.parent = parent
self.canvas_img = {item: ImageTk.PhotoImage(file=f'img/{item}.png') for item in CANVAS_IMG}
self.canvas.create_image(485, 370, image=self.canvas_img['image1'])
self.canvas.create_image(490, 360, image=self.canvas_img['image2'])
self.canvas.create_image(350, 55, image=self.canvas_img['image3'])
self.canvas.create_image(720, 375, image=self.canvas_img['image4'])
if __name__ == '__main__':
root = tk.Tk()
MyApp(root)
root.mainloop()
图像的坐标不遵循任何类型的模式
我曾考虑过创建一个元组列表来存储图像的坐标,但这似乎有点笨拙。您认为最好的方法是什么?一种方法是创建一个字典,其中键是图像名称,值是坐标:
IMAGE_DATA = {
"image1": (485, 370),
"image2": (490, 360),
...
}
然后,您可以轻松地在字典上循环创建图像