So here is the code i used to make this timer:
import tkinter as tk
import time
import keyboard
class RubiksTimerApp:
def __init__(self, root):
self.root = root
self.root.title("Rubik's Cube Timer")
self.start_time = None
self.running = False
self.elapsed_time = 0
self.timer_label = tk.Label(root, text="0.000", font=("Helvetica", 72))
self.timer_label.pack(pady=30)
keyboard.on_press_key("space", self.space_pressed)
keyboard.on_release_key("space", self.space_released)
self.root.geometry("400x300") # Set the window dimensions
self.root.mainloop()
def space_pressed(self, event):
if not self.running:
self.start_time = None # Reset start_time
self.timer_label.config(text="0.000") # Reset the timer display
def space_released(self, event):
if not self.running:
self.running = True
self.start_time = time.time()
self.elapsed_time = 0 # Reset elapsed_time when starting the timer
self.update_timer()
else:
self.running = False
elapsed_time = time.time() - self.start_time
self.elapsed_time += elapsed_time
def update_timer(self):
if self.running:
current_time = time.time() - self.start_time + self.elapsed_time
self.timer_label.config(text=f"{current_time:.3f}")
self.root.after(10, self.update_timer)
if __name__ == "__main__":
root = tk.Tk()
app = RubiksTimerApp(root)
and I want to add I want a function so when you release the space bar to start the timer, it will only start if you have held the spacebar for at least 0.5 seconds before releasing it.