Zpět na projekty
TUIX v0.4Beta

Naposledy aktualizováno: 2026-05-20

Příklady

Repozitář obsahuje ukázkové skripty v examples/widgets/, examples/multimodal/ a examples/showcase/, které pokrývají aktuální sadu builderů, routování fokusu a vyšší sekvenční demo scénáře. Příklady ve v0.4 jsou sladěny s automatickým zpracováním vstupu a snapshot-first API pro inspekci. Další widget demo skripty zahrnují button_and_badge_demo.py, menu_and_tags_demo.py, scroll_container_demo.py a text_and_box_demo.py.

Animace progressbaru

examples/widgets/progressbar_dual.py — Dva progress bary animované různou rychlostí s vlastním stylem.

python examples/widgets/progressbar_dual.py
  • Pruh A se plní plnou rychlostí (0 → 100 % za 100 snímků)
  • Pruh B se plní poloviční rychlostí (0 → 50 %)
  • Vlastní znaky ('#'/'-') a RGB barvy pro každý pruh
  • ESC pro předčasné ukončení

Menu voleb

examples/widgets/choice_palette.py — Výběr barevné palety s ovládáním klávesnicí.

python examples/widgets/choice_palette.py
  • Volby palety jsou vykreslené jako menu položky ovladatelné klávesnicí
  • Šipky pro navigaci, Enter pro potvrzení
  • Vypíše vybraný název barvy a RGB do stdout
  • ESC pro zrušení

Kreslení na plátně

examples/widgets/canvas_bounce.py — Animovaný skákající míček s real-time grafikou.

python examples/widgets/canvas_bounce.py
  • Plátno na celou obrazovku s orámováním
  • Skákající míček s HSL cyklováním barev
  • Počítadlo FPS v reálném čase v pravém horním rohu
  • Míček se odráží uvnitř vnitřní oblasti s obracením rychlosti na hranách
  • Běží, dokud není stisknuta libovolná klávesa

Rozvržení s více widgety

examples/multimodal/focus_routing.py — Routování fokusu klávesnice a myši napříč interaktivními widgety.

python examples/multimodal/focus_routing.py
  • Ukazuje, jak se mění fokus scény při práci s více widgety
  • Kombinuje vstup z klávesnice i myši místo jejich odděleného zpracování
  • Procvičuje předávání fokusu mezi widgety Choice a Input
  • Ukazuje, jak hitmapové určování kliknutí drží zpracování kliků deterministické
  • ESC pro vynucené ukončení
Routování vstupu ve v0.4Při kombinaci více interaktivních widgetů použijte scenes.set_focus(scene_name, uid) pro výběr aktivního cíle vstupu. Ve v0.4 se navíc kliknutí myši směrují přes hitmapu kompozitoru ještě před předáním builder handlerům, což drží cílení na viditelné widgety konzistentní.
Snapshot APIPříklady ve v0.4 preferují lock-safe snapshot API (buffers.get_buffer_snapshot / buffers.get_buffer_snapshot_by_uid, objects.get_object_snapshot_by_uid a input.peek_snapshot()) pro read-only inspekci místo raw pointer getterů.

Kompletní ukázka widgetů

examples/showcase/sequential_journey.py — Sekvenční demo, které prochází hlavní typy widgetů a tok interakce.

python examples/showcase/sequential_journey.py
  • Progressbar, choice, input a canvas jsou procvičeny postupně
  • Ukazuje standardní tok register -> create -> configure -> render
  • Dobrá smoke test pro nativní builder pipeline
  • Užitečné jako rychlá kontrola, že je zkompilované jádro správně zapojené

Další showcase demo skripty v repozitáři zahrnují buffer_hierarchy_demo.py a scene_stats_demo.py pro vrstvení bufferů a instrumentaci scén.