← Zpět na hlavní dokumentaci

Dokumentace modulu ui_radiobuttons.py

Modul ui_radiobuttons.py vytváří interaktivní voliče režimů (radiobuttony) v hlavní GUI aplikaci. Slouží ke změně provozního stavu jednotlivých kanálů (celkem 8 řádků × 4 volby).

Ukázka GUI řádku radiobuttonů (zmenšeno na 25 %):

GUI radiobuttons

Účel modulu

Modul obstarává:

Přehled funkcí

1) create_radio_buttons(root)

Vytvoří matici 8 řádků × 4 radiobuttonů. Každý radiobutton reprezentuje volbu režimu:

Funkce vrací dvojici:

Radiobuttony automaticky volají callback on_radio_change().

2) on_radio_change(row, value)

Funkce se spustí pokaždé, když uživatel změní radiobutton. Informuje hlavní aplikaci o změně volbou callbacku:

on_radio_event_callback(row, value)

Hlavní aplikace pak provede logiku:

3) set_callback(func)

Umožní hlavní aplikaci předat svoji funkci, která bude volána při změně radiobuttonu. Velmi důležité pro propojení GUI s logikou a BLE komunikací.

4) get_radio_values()

Vrátí aktuální stav radiobuttonů jako seznam osmi hodnot (1–4).

5) select_fourth_in_all_rows()

Pomocná funkce nastaví ve všech osmi řádcích volbu Reset (4). Používá se při inicializaci GUI.

Spolupráce s modulem ui_rectangles

Po změně radiobuttonu se pomocí:

set_rectangle_color(row, value)

obarví příslušný obdélník do barvy odpovídající zvolenému režimu:

Tím je vizuálně jasné, který kanál je v jakém stavu.

Příklad použití v hlavním programu

V hlavní aplikaci se modul inicializuje takto:

from ui_radiobuttons import create_radio_buttons, set_callback

radio_vars, radio_buttons = create_radio_buttons(root)
set_callback(radio_event_handler)

Po zavolání on_radio_change se zavolá funkce radio_event_handler() z main.py, která zajistí: