Python tkinter countdown wie?
Hallo ich will einen Aim-trainer mit Python tkinter schreiben. Also ich habe das mit einem Button gemacht und wenn man drauf drückt verändert sich die Position aber damit das nicht so einfach ist soll der Button wenn man ihn nicht in 3 Sekunden gedrückt hat verschwinden und man hat verloren. Das mit dem Button habe ich schon gemacht aber ich weiß nicht wie ich das machen soll das der nach 3 sekunden verschwindet wenn man ihn nicht gedrückt hat.
Hier das Script:
import random
from tkinter import *
import time
points = 0
root = Tk()
root.geometry("1920x1080")
root.title("Aim-trainer")
root.configure(bg='#2E2E2E')
points = int(points)
point = Label(root, bg='#2E64FE', text="0", width=50, height=8, font=('Arial', 24))
point.place(x=500, y=10, height=50, width=50)
def forget():
btn.place_forget()
def btnn():
btn.place(x=90, y=30)
forget()
btn = Button(root, text="-", bg="black", command=btnn)
btn.place(x=0, y=0)
mainloop()
2 Antworten
Einen Timer kannst du so realisieren:
def do_something():
print("Do something")
root.after(3000, do_something)
Die Anwendung wird daraufhin einplanen, nach drei Sekunden (es kann auch etwas länger dauern, falls etwas anderes auf dem laufenden Thread blockt) die angegebene Funktion aufzurufen.
Um dies in Perioden aufzuteilen, könntest du es so umgestalten:
timePast = 0
def start_timer():
global timePast
if timePast == 3:
print("Three seconds past")
return
root.after(1000, start_timer)
timePast += 1
start_timer()
Dies würde es dir nun auch ermöglichen, in der Funktion weitere Abfragen einzubauen, was beispielsweise nach einer oder zwei Sekunden passieren soll.
So macht man einen Countdown (gibt natürlich auch andere Code-Lösungen)
import time
seconds = 3
while seconds:
time.sleep(1)
seconds -= 1