Ovládání uživatelského rozhraní

Barva LED

class brian.uicontrol.LedColor(red: int, green: int, blue: int)
__init__(red: int, green: int, blue: int)

Obsahuje definici barev pro LED. Hodnoty se pohybují od 0 do 255. Pokud jsou mimo tento rozsah, jsou oříznuty

red: int

Červená složka barvy, v rozsahu 0–255. Pokud je nastavena hodnota mimo tento rozsah, je oříznuta

green: int

Zelená složka barvy, v rozsahu 0–255. Pokud je nastavena hodnota mimo tento rozsah, je oříznuta

blue: int

Modrá složka barvy, v rozsahu 0–255. Pokud je nastavena hodnota mimo tento rozsah, je oříznuta

ID tlačítka

class brian.uicontrol.ButtonId(*values)
TOP_LEFT = 0
TOP_RIGHT = 1
BOTTOM_LEFT = 2
BOTTOM_RIGHT = 3
KNOB = 4

Animace LED tlačítka

class brian.uicontrol.LedButtonAnimation(*values)

Konstanty pro výběr chování LED tlačítek. Používá se, pokud animace LED zajišťuje operační systém Brian.

OFF = 0

LED je zcela zhasnutá

STANDBY = 1

LED pulzuje při nízké úrovni jasu

SELECTABLE = 2

LED pulzuje při střední úrovni jasu

SELECTED = 3

LED pulzuje při vysoké úrovni jasu

inherit = 4

Chování LED není na této úrovni nastaveno; je použito chování předchozí (systémové) úrovně.

nastavit LED tlačítka

brian.uicontrol.set_button_led(target: ButtonId | Button | Knob, animation: LedButtonAnimation, color: LedColor = 'DEFAULT_COLOR_FROM_SETTINGS') None

Nastaví požadovanou animaci a barvu pro určité tlačítko. Tato nastavení přebírají přednost před animací zadanou přes PhysButtonOverlay a výchozím efektem tlačítek OS, pokud není použita volba LedButtonAnimation.inherit.

Parametry:
  • target – Cílové tlačítko, jehož barva se mění. Při použití UiEventsListener.any_button nebo any_button_incl_knob se všechna tlačítka změní.

  • animation – Cílová animace.

  • color – Cílová barva. Pokud není zadána, použije se výchozí barva z nastavení.

povolit animaci otáčení knoflíku

brian.uicontrol.enable_knob_rotation_animation(enabled: bool) None

Pokud je povoleno, operační systém automaticky animuje LED pod knoflíkem během otáčení. Uživ. program startuje s animací zapnutou.

Parametry:

enabled – Zda animovat otáčení knoflíku.

Posluchač událostí UI

Událost knoflíku

class brian.uicontrol.UiEventsListener.UiEventsListener.KnobEvent
turn_delta: int
turned_to: int
is_pressed: bool
just_pressed: bool
just_released: bool

Událost tlačítka

class brian.uicontrol.UiEventsListener.UiEventsListener.ButtonEvent
is_pressed: bool
just_pressed: bool
just_released: bool

Událost tlačítek

class brian.uicontrol.UiEventsListener.UiEventsListener.ButtonsEvent
top_left: ButtonEvent
top_right: ButtonEvent
bottom_left: ButtonEvent
bottom_right: ButtonEvent
any_button: ButtonEvent
any_button_incl_knob: ButtonEvent

Tlačítko

class brian.uicontrol.UiEventsListener.UiEventsListener.Button
wait_for_press(timeout_ms: int = -1) bool

Čeká na další stisk tlačítka. Funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, po které se čeká. Pokud je timeout záporný, čeká se donekonečna.

vrátit úspěch:
  • True: Pokud byla požadovaná událost zaznamenána.

  • False: Pokud vypršel časový limit.

wait_for_press_and_release(timeout_ms: int = -1) bool

Čeká na událost stisk a uvolnění tlačítka. Funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, po které se čeká. Pokud je timeout záporný, čeká se donekonečna.

vrátit úspěch:
  • True: Pokud byla požadovaná událost zaznamenána.

  • False: Pokud vypršel časový limit.

wait_for_release(timeout_ms: int = -1) bool

Čeká na uvolnění tlačítka. Funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, po které se čeká. Pokud je timeout záporný, čeká se donekonečna.

vrátit úspěch:
  • True: Pokud byla požadovaná událost zaznamenána.

  • False: Pokud vypršel časový limit.

last_button_event: ButtonEvent

Knoflík

class brian.uicontrol.UiEventsListener.UiEventsListener.Knob
wait_for_any_turn(timeout_ms: int = -1) bool

Čeká na jakoukoli otočku knoflíku. Funkce je blokující.

Parametry:

timeout_ms – Maximální počet milisekund, po které se čeká. Pokud je timeout záporný, čeká se donekonečna.

vrátit úspěch:
  • True: Pokud byla požadovaná událost zaznamenána.

  • False: Pokud vypršel časový limit.

wait_for_directional_turn(clockwise: bool, timeout_ms: int = -1) bool

Čeká na další směrovou otočku knoflíku. Funkce je blokující.

Parametry:
  • clockwise – Určuje, zda čekat na otáčku ve směru hodinových ručiček nebo proti směru.

  • timeout_ms – Maximální počet milisekund, po které se čeká. Pokud je timeout záporný, čeká se donekonečna.

vrátit úspěch:
  • True: Pokud byla požadovaná událost zaznamenána.

  • False: Pokud vypršel časový limit.

last_button_event: KnobEvent