Здравствуйте, я написал простую программу, которая изменяет размер изображений на l oop. Я хочу показать каждое изображение, когда изменение размера выполнено. Когда отображается изображение с измененным размером, я хочу, чтобы моя программа ждала нажатия кнопки tkinter. Все работает нормально, но когда я вызываю метод destroy (), поток с именем resizer не останавливается. Может ли кто-нибудь указать мне, почему это происходит? Взгляните на пример полностью:
import argparse
import os
import threading
from PIL import Image
import tkinter as tk
def resize_images(args, evt, root):
images_names = os.listdir(args.src_dir)
for image_name in images_names:
evt.clear()
image_path = os.path.join(args.src_dir, image_name)
img = Image.open(image_path)
img.show()
resized_img = img.resize((56, 56))
resized_img.show()
evt.wait()
root.destroy()
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--src_dir", default="Data")
opt = parser.parse_args()
event = threading.Event()
root = tk.Tk()
t1 = threading.Thread(name="resizer", target=resize_images, args=(opt, event, root))
t1.start()
root.title("Manage program execution")
button = tk.Button(root, text='Next', width=25, command=event.set)
button.pack()
root.mainloop()
t1.join()
Большое спасибо за любую помощь!