I wanted to make a visual timer in python but couldn't find any graphic libraries so I used arcade to do the job but I think there is something I'm not getting.
All I have so far :
import time SCREEN_WIDTH = 600 SCREEN_HEIGHT = 600 arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, "Program test") arcade.set_background_color(arcade.color.WHITE) arcade.start_render() mid_x = SCREEN_WIDTH/2 mid_y = SCREEN_HEIGHT/2 def cur_time(self): arcade.draw_text(str(c_tim),start_x,start_y,arcade.color.BLACK) def sc(self): arcade.draw_rectangle_filled(mid_y,mid_y,600,600,arcade.color.BLACK) arcade.draw_rectangle_filled(mid_y,mid_y,600,600,arcade.color.WHITE) start_x = 100 start_y = 100 c_tim = 10 while True: cur_time time.sleep(1) sc arcade.get_projection() arcade.finish_render() arcade.run() 22 Answers
Instead, you could use a Tkinter GUI for it. I don't have the time right now to code it for you, but arcade isn't designed for that kind of thing. It's for making 2D games generally not creating nice timers. Just use tkinter gui.
Simple timer with arcade:
import time import arcade import datetime class Timer(arcade.Window): def __init__(self): super().__init__(600, 400, 'Arcade Timer') self.time = None def on_draw(self): arcade.start_render() if self.time: text = str(datetime.timedelta(seconds=time.time()-self.time)) else: text = 'Click to start timer!' arcade.draw_text(text, 300, 200, arcade.color.RED, 40, anchor_x='center') def on_mouse_release(self, x, y, button, key_modifiers): self.time = time.time() if not self.time else None Timer() arcade.run() Example run:
