Я хочу иметь возможность динамически отображать фотографии в Tkinter. У меня есть одна кнопка, которая находит пути к фотографиям, которые я хочу отобразить, и когда я добавляю фотографии, я хочу, чтобы они отображались в верхней части холста
Я уже пытался пройти цикл for после загрузки фотографий, но, похоже, он не выполняет то, что я хочу, и теперь я пытаюсь повторить цикл while, но это не работает. Я сейчас в растерянности. Ниже мой код
import tkinter as tk
from tkinter import filedialog as tkfd
from PIL import ImageTk, Image
import time
photo_name_list = []
def find_photos():
photo = tkfd.askopenfile()
photo_name_list.append(photo.name)
window = tk.Tk()
#creates the canvas
canvas = tk.Canvas(window, width = WINDOW_WIDTH,
height = WINDOW_HEIGHT, bg="green")
canvas.pack()
b1 = tk.Button(canvas, text="Click me to add 5 photos of yourself",
height = 5, width = 30, command = find_photos)
canvas.create_window(WINDOW_WIDTH//3, WINDOW_HEIGHT//3, window = b1)
while True:
if len(photo_name_list) > 0:
for image in photo_name_list:
img = Image.open(image)
tkimage = ImageTk.PhotoImage(img)
tk.Label(window, image=tkimage).pack()
canvas.update()
time.sleep(1/60)
window.mainloop()
Итак, как вы можете видеть в коде, у меня есть одна кнопка, которая берет путь к изображению в виде строки и добавляет его в список. Я хочу отображать фотографии по мере их добавления.