Kapitel 13 – Texteingabe (TextArea & Keyboard)

Aus Micropython
Zur Navigation springen Zur Suche springen
LVGL 9 mit MicroPython
Kapitel 13
Titel Texteingabe (TextArea & Keyboard)
Voraussetzungen Grundkenntnisse in MicroPython
Getestet mit LVGL 9.x
Schwierigkeitsgrad ★★★☆☆
Benötigte Zeit 50 Minuten
Status in Arbeit

Kapitel 13 – Texteingabe (TextArea & Keyboard)[Bearbeiten | Quelltext bearbeiten]

Lernziel[Bearbeiten | Quelltext bearbeiten]

Nach diesem Kapitel kannst du

  • Texteingabefelder (TextArea) verwenden,
  • eine Bildschirmtastatur einbinden,
  • Eingaben mit einem Widget verbinden,
  • einfache Dialoge erstellen.

Was ist eine TextArea?[Bearbeiten | Quelltext bearbeiten]

Eine TextArea ist ein Eingabefeld für Text.

Der Benutzer kann darin schreiben, löschen und bearbeiten.

Typische Anwendungen:

  • WLAN-Passwort
  • Benutzername
  • Einstellungen
  • Suchfelder

Erste TextArea[Bearbeiten | Quelltext bearbeiten]

import lvgl as lv

scr = lv.screen_active()

ta = lv.textarea(scr)
ta.set_width(200)
ta.align(lv.ALIGN.CENTER, 0, 0)

Erklärung[Bearbeiten | Quelltext bearbeiten]

Die TextArea wird wie jedes Widget erzeugt:

ta = lv.textarea(scr)

Sie wird anschließend positioniert.

Text setzen[Bearbeiten | Quelltext bearbeiten]

ta.set_text("Hallo")

Eingabe aktivieren[Bearbeiten | Quelltext bearbeiten]

Die TextArea ist zunächst nicht automatisch mit einer Tastatur verbunden.

Dafür wird eine virtuelle Tastatur benötigt.

Keyboard Widget[Bearbeiten | Quelltext bearbeiten]

kb = lv.keyboard(scr)

Verbindung zwischen Keyboard und TextArea[Bearbeiten | Quelltext bearbeiten]

kb.set_textarea(ta)

Beispiel komplett[Bearbeiten | Quelltext bearbeiten]

import lvgl as lv

scr = lv.screen_active()

ta = lv.textarea(scr)
ta.set_width(220)
ta.align(lv.ALIGN.TOP_MID, 0, 10)

kb = lv.keyboard(scr)
kb.set_textarea(ta)

Erklärung[Bearbeiten | Quelltext bearbeiten]

  • TextArea nimmt Eingaben entgegen
  • Keyboard sendet Eingaben an die TextArea
  • Beide sind normale LVGL-Widgets

Verhalten[Bearbeiten | Quelltext bearbeiten]

Wenn der Benutzer ein Zeichen auf der Tastatur drückt:

1. Keyboard erkennt Eingabe 2. Zeichen wird an TextArea gesendet 3. TextArea aktualisiert ihren Inhalt

Typische Anwendung[Bearbeiten | Quelltext bearbeiten]

  • Login-Bildschirm
  • WLAN-Konfiguration
  • Parameter-Eingabe
  • Suchfunktionen

Hinweise[Bearbeiten | Quelltext bearbeiten]

Hinweis

Keyboard und TextArea müssen im selben Screen sein.

Mehrzeilige Eingabe[Bearbeiten | Quelltext bearbeiten]

ta.set_one_line(False)

Passwortfeld[Bearbeiten | Quelltext bearbeiten]

ta.set_password_mode(True)

Beispiel Passwort[Bearbeiten | Quelltext bearbeiten]

ta = lv.textarea(scr)
ta.set_password_mode(True)
ta.set_placeholder_text("Passwort eingeben")

Placeholder Text[Bearbeiten | Quelltext bearbeiten]

ta.set_placeholder_text("Benutzername")

Typischer Fehler[Bearbeiten | Quelltext bearbeiten]

Achtung

Viele vergessen, die TextArea mit dem Keyboard zu verbinden.

Ohne set_textarea() funktioniert keine Eingabe.

Merke[Bearbeiten | Quelltext bearbeiten]

Merke

Eine TextArea ist das Eingabefeld. Das Keyboard ist die Eingabemethode.

Zusammenfassung[Bearbeiten | Quelltext bearbeiten]

  • TextArea ist ein Eingabefeld
  • Keyboard liefert Eingaben
  • Beide müssen verbunden werden
  • Typisch für Login- und Einstellungsseiten