#!/usr/bin/env python
#-*- coding: utf-8 -*-
import pyglet
import datetime
# stworzenie okna
window = pyglet.window.Window(300,100, caption='Pyglet Clock')
# stworzenie napisu, które będzie rysowany na środku okna
# dzięki anchor_x, anchor_y, window.width/2, window.height/2
current_time = pyglet.text.Label('--:--:--',
font_name='Times New Roman',
font_size=36,
anchor_x='center',
anchor_y='center',
x=window.width/2,
y=window.height/2,
)
# przypisanie do okna funkcji, która będzie rysować obiekty w oknie
# (funkcja musi się nazywać `on_draw()` )
@window.event
def on_draw():
# wyczyszczenie całego okna
window.clear() # obowiazkowe dla image.blit ale nie wymagane dla sprite.draw
# narysowanie napisu
current_time.draw()
# funkcja zmieniająca zawartość napisu na aktualny czas
# (ale bez odrysowania zmiany w oknie)
def update_time(dt):
current_time.text = datetime.datetime.now().strftime('%H:%M:%S')
# przypisanie, że funkcja `update_time` będzie wywoływana co 1 sekundę
pyglet.clock.schedule_interval(update_time, 1)
# uruchomienie głównej funkcji, która zajmie się wywoływaniem `on_draw()`
# oraz `update_time()` w odpowiednich momentach
pyglet.app.run()