Kivy: Focus auf ein Textfeld

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Benutzeravatar
Patsche
User
Beiträge: 43
Registriert: Samstag 23. Oktober 2021, 00:17

Ich ahbe ein weiteres Problem mit kivy
Bei der Anmeldemaske habe ich über die kv-Datei den Textinput der Benutzereingabe fokussiert.

Code: Alles auswählen

TextInput:
                focus: True
                id: benutzername
                multiline: False
                text_size: self.size
                font_size: 20
                on_text: app.anmelden()
Das klappt auch wunderbar.
Jetzt möchte ich, dass nach erfolgreicher Anmeldung das der Textinput der Ergebniseingabe fokussiert wird.
Das habe ich über die main.py versucht zu regeln.

Code: Alles auswählen

    def kontrollieren(self):
        if benutzer=="Ben" and passwort=="minion" or benutzer=="Emma" and passwort=="wendy":
            self.root.current = 'rechnenscreen'
            self.root.ids.benutzername.focus = False
            self.root.ids.loesung.focus = True

Code: Alles auswählen

TextInput:
                id:loesung
                focus: True
                multiline:False
                text_size: self.size
                font_size: 20
                on_text: app.berechnen()
Ich habe sogar versucht den Fokus von der Benutzereingabe auf False zusetzen, aber das bringt auch nichts.
Was mache ich falsch?
Ich möchte nicht jedesmal den Fokus manuell mit der Maus machen müssen, sondern, sobal ein Knopfgedrückt wird soll wieder das Textfeld fokussiert werden.
Ich hoffe ihr versteht, was ich meine.

Edit:
Thema geändert. Ich meinte Textfeld nicht Label.
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Falls `kontrollieren()` durch einen Button aufgerufen wird, steht im Netz, dass der durch das Drücken den Fokus bekommt, und das Fokusänderungen durch ein Callback deshalb nicht bei `on_press` funktionieren, sondern nur bei `on_release`.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
Patsche
User
Beiträge: 43
Registriert: Samstag 23. Oktober 2021, 00:17

Wow! Vielen Dank!! So funktionierts.
Wo hast du das gefunden? Ich habe auch gesucht und nichts dazu gefunden.
Danke Dir!!!
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten