Moim obecnym projektem, a właściwie jego częścią jest timer. Moje założenie było takie: program pobiera dane od użytkownika, a czas ten który już się odmierza można zatrzymać podając hasło. Sam szkic chociaż nie do końca pełny jest tu:
import tkinter as tk
import time
def count_down():
setTime = int(input("How much minutes You have: ")) * 60
for t in range(setTime, -1, -1):
sf = "{:02d}:{:02d}".format(*divmod(t, 60))
time_str.set(sf)
root.update()
time.sleep(1)
def passwd():
pwd = ""
while pwd != "science":
response = input("It isn\'t valid password. Try again.")
print("Timer stopped. You can close program now.")
print("\n\n Press ENTER to close this dialog")
root = tk.Tk()
root.title("Timer")
root.geometry("220x210")
root.resizable(0,0)
tk.Label(root, text="How many minutes You have:").pack()
setTime = tk.Entry(root, bd = 5).pack()
time_str = tk.StringVar()
label_font = ('sans', 40)
tk.Label(root, textvariable=time_str, font=label_font, bg='white',
fg='blue', relief='raised', bd=3).pack(fill='x', padx=5, pady=5)
tk.Button(root, text="Count Start", command=count_down).pack()
tk.Label(root, text="Unlock").pack()
tk.Entry(root, bd = 5).pack()
root.mainloop()
Właściwie to widać zarys tego co bym chciał, męczę kod już kilka dni i nie potrafię kilku rzeczy. Mianowicie chciałbym obok widżetów Entry postawić buttona (z napisem OK) pobierającego dane wejściowe. W pierwszym przypadku pobiera int w drugim string. Na chwilę obecną podanie czasu do timera 'wyskakuje' z programu do shella, tam się wpisuje i program działa. Trochę naokoło ale póki co dobrze że działa - z tego jestem zadowolony. Czy moglibyście podpowiedzieć gdzie narobiłem błędów? A może mam nieodpowiednie podejście do tematu?