Ich probiere mich gerade in Kivy einzufinden und habe ein kleines Problem.
Ich möchte ein Anmeldescreen bauen. Das habe ich geschafft.
Aber ich weiß aktuell nicht, wie ich auf die eingegebenen Texte in Textinputs zugreifen kann.
Hier ist die Doku dazu:
https://kivy.org/doc/stable/api-kivy.ui ... Input.text
Aber ich werde da nicht so schlau draus.
Ich habe in meinem Code auch schon id's vergeben, falls das benötigt wird.
Das Ziel ist es, dass Benutzer und Passort zusammen passen sollen. Ist verständlich denke ich. Das würde ich mit einer if-Abfrage bei Druck auf den Anmeldebutton realisieren.
Ich hänge mal den aktuellen Code ran. Der ist allerdings nicht fertig, da ich gerade am Anmeldefenster hänge.
Hier die main.py:
Code: Alles auswählen
from kivy.app import App
from kivy.uix.label import Label
from random import randint
class MathasticApp(App):
def build(self):
zahl1=randint(1,10)
zahl2=randint(1,10)
a= str(zahl1)
b= str(zahl2)
ergebnis=zahl1+zahl2
self.root.ids['zahl1'].text = a
self.root.ids['rechenzeichen'].text = "+"
self.root.ids['zahl2'].text = b
if __name__=="__main__":
MathasticApp().run()
Und nun die kv-Datei:
Code: Alles auswählen
#:kivy 2.0
ScreenManager:
Screen:
name: 'anmeldung'
BoxLayout:
orientation: 'vertical'
padding: 50
spacing: 20
Label:
text: "Anmeldung"
font_size: 25
spacing: 20
TextInput:
id: benutzername
multiline: False
focus: True
text: 'Benutzername'
text_size: self.size
font_size: 20
TextInput:
id: passwort
multiline:False
text: 'Passwort'
password: True
text_size: self.size
font_size: 20
Button:
id: anmeldebutton
text:"Anmelden"
on_press: app.root.current = if (TextInput.text'rechnen'
Screen:
name: 'rechnen'
BoxLayout:
orientation: 'vertical'
BoxLayout:
Label:
id: zahl1
text: "Zahl 1"
font_size: 25
Label:
id: rechenzeichen
text: "Zahl 1"
font_size: 25
Label:
id: zahl2
text: "Zahl 2"
font_size: 25
TextInput:
text: 'Ergebnis'
text_size: self.size
font_size: 20
Button:
id: pruefbutton
text:"Prüfen"
font_size: 20
Vielen Dank für eure Zeit und Unterstützung im vorraus.