У меня возникают некоторые проблемы при попытке создать изображения холста, класс обрабатывает создание изображений, и я хочу, чтобы класс создавал столько изображений, сколько раз я его называю.
Мой кодЭто
from tkinter import *
from random import *
canvas_width = 800
canvas_height = 800
master = Tk()
canvas = Canvas(master, width=canvas_width, height=canvas_height, bg="black")
canvas.pack()
def images():
for _ in range(3):
Image_creator().create_image()
class Image_creator:
def create_image(self):
start_x = randint(1, canvas_width//2)
start_y = randint(1, canvas_height//2)
img = PhotoImage(file="pac_inizio.png")
master.img = img
self.image = canvas.create_image(start_x, start_y, anchor=NW, image=img)
images()
mainloop()
На самом деле с этим кодом отображается только 1 из 3 изображений, я думаю, что другие 2 изображения холста созданы, но без изображения внутри.Я попытался изменить функцию create_image для кнопок создания вместо изображений холста и понять, действительно ли это было так, как я думал.Если вы запускаете код с измененной функцией, он отображает 3 кнопки, но только одну с изображением внутри.
def create_image(self):
start_x = randint(1, canvas_width//2)
start_y = randint(1, canvas_height//2)
img = PhotoImage(file="pac_inizio.png")
master.img = img
self.image = Button( anchor=NW, image=img)
self.image.place(x=start_x, y=start_y)
Я думаю, что проблема в ссылке на изображение, но не знаю, как ее решить