kopia lustrzana https://github.com/peterhinch/micropython-nano-gui
49 wiersze
1.3 KiB
Python
49 wiersze
1.3 KiB
Python
![]() |
|
||
|
from color_setup import ssd
|
||
|
from time import sleep
|
||
|
from gui.core.writer import CWriter
|
||
|
from gui.core.nanogui import refresh
|
||
|
import gui.fonts.font10 as font
|
||
|
from gui.core.colors import *
|
||
|
from extras.widgets.calendar import Calendar
|
||
|
from gui.widgets.label import Label
|
||
|
|
||
|
epaper = hasattr(ssd, "wait_until_ready")
|
||
|
|
||
|
|
||
|
def test():
|
||
|
wri = CWriter(ssd, font, verbose=False)
|
||
|
wri.set_clip(True, True, False) # Clip to screen, no wrap
|
||
|
refresh(ssd, True) # Clear screen and initialise GUI
|
||
|
lbl = Label(wri, 200, 5, 300, bdcolor=RED)
|
||
|
# Invert today. On ePper also invert current date.
|
||
|
cal = Calendar(wri, 10, 10, 35, GREEN, BLACK, RED, CYAN, BLUE, True, epaper)
|
||
|
lbl.value("Show today's date.")
|
||
|
refresh(ssd) # With ePaper should issue wait_until_ready()
|
||
|
sleep(5) # but we're waiting 5 seconds anyway, which is long enough
|
||
|
date = cal.date
|
||
|
lbl.value("Adding one month")
|
||
|
date.month += 1
|
||
|
refresh(ssd)
|
||
|
sleep(5)
|
||
|
lbl.value("Adding one day")
|
||
|
date.day += 1
|
||
|
refresh(ssd)
|
||
|
sleep(5)
|
||
|
date.now() # Today
|
||
|
for n in range(13):
|
||
|
lbl.value(f"Go to {n + 1} weeks of 13 after today")
|
||
|
date.day += 7
|
||
|
refresh(ssd)
|
||
|
sleep(5)
|
||
|
lbl.value("Back to today")
|
||
|
date.now() # Back to today
|
||
|
refresh(ssd)
|
||
|
sleep(5)
|
||
|
|
||
|
try:
|
||
|
test()
|
||
|
finally:
|
||
|
if epaper:
|
||
|
ssd.sleep()
|