from tkinter import * from tkinter import filedialog from pathlib import Path from functools import partial root = Tk() root.title("Drawing Training!") root.geometry("300x600") selected_folder = "" found_images = [] timer = 0 def format_seconds(seconds): hours = None minutes = seconds / 60 if minutes >= 1: if minutes >= 60: hours = int(minutes / 60) minutes = int(minutes % 60) else: minutes = int(minutes) seconds = seconds % 60 else: minutes = None time = "" if hours is not None and hours != 0: time += str(hours) + "h" if minutes is not None and minutes != 0: time += str(minutes) + "m" if seconds is not None and seconds != 0: time += str(seconds) + "s" return time def set_timer_in_seconds(user_data): global timer timer = user_data print(timer) for button in buttons: if button['text'] == format_seconds(timer): button.config(bg="blue") else: button.config(bg="grey") def select_folder(): global selected_folder global found_images global folder_name global images_len selected_folder = filedialog.askdirectory() found_images = list(p.resolve() for p in Path(selected_folder).glob("**/*") if p.suffix in {".jpg", ".gif", ".png"}) folder_name.config(text="Folder : " + selected_folder) images_len.config(text="Found : " + str(len(found_images))) title = Label(root, text="Drawing Training") title.pack() folder_selector = Button(root, text="Select a folder", command=select_folder) folder_selector.pack() folder_name = Label(root, text="Folder : " + selected_folder) folder_name.pack() images_len = Label(root, text="Found : " + str(len(found_images))) images_len.pack() timers = [30, 45, 60, 120, 300, 600] buttons = [] for i in timers: t = i new_button = Button(root, text=format_seconds(t), command=partial(set_timer_in_seconds, t)) new_button.pack(side="left") buttons.append(new_button) launch_button = Button(root, text="Let's draw!") launch_button.pack(side="bottom") root.mainloop()