DrawingTraining/tk.py
Shikiryu cbb79b8cb7 💄 Format time
2023-05-21 11:48:39 +02:00

85 lines
2.1 KiB
Python

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()