Sooooo Ich arbeite immer noch an diesem Schulprojekt von meiner letzten Frage und dieses Mal ist es ein Prototyp, kein Test. Es soll Gleichungen lösen. Ich habe bereits den Code in Vanille Python und TkInter geschrieben und das funktioniert. Es hat auch Teile von Deutsch drin. Mein Kampf ist, wie man vom TextInput zum procesing Teil Strings bekommt und es zum Label Lös bringt. So, hier ist mein Code:Kivy fehlt 1 Positionsargument (selbst)
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.clock import Clock
from kivy.uix.button import Button
a=42
class übung(GridLayout):
def __init__(self, **kwargs):
super(übung, self).__init__(**kwargs)
self.cols = 3
self.fill1 = Label(text = "")
self.label1 = Label(text = "Sagen sie ihre Gleichung")
self.fill2 = Label(text = "")
self.links = TextInput(multiline=False)
self.label2 = Label(text = '=')
self.rechts = TextInput(multiline=False)
self.fill3 = Label(text = '')
self.btn1 = Button(text="Lösen")
self.btn1.bind(on_press=self.einfach())
self.fill4 = Label(text = '')
self.fill5 = Label(text = '')
self.btn2 = Button(text="Mit Rechenweg lösen")
self.btn2.bind(on_press=self.einfachS)
self.fill6 = Label(text = '')
self.fill7 = Label(text = '')
self.lös = Label(text = '')
self.fill8 = Label(text = '')
self.fill9 = Label(text = '')
self.rech1 = Label(text = '')
self.fill10 = Label(text = '')
self.fill11 = Label(text = '')
self.rech2 = Label(text = '')
self.fill12 = Label(text = '')
self.fill13 = Label(text = '')
self.rech3 = Label(text = '')
self.fill14 = Label(text = '')
self.fill15 = Label(text = '')
self.rech4 = Label(text = '')
self.add_widget(self.fill1)
self.add_widget(self.label1)
self.add_widget(self.fill2)
self.add_widget(self.links)
self.add_widget(self.label2)
self.add_widget(self.rechts)
self.add_widget(self.fill3)
self.add_widget(self.btn1)
self.add_widget(self.fill6)
self.add_widget(self.fill7)
self.add_widget(self.btn2)
self.add_widget(self.fill8)
self.add_widget(self.fill9)
self.add_widget(self.lös)
self.add_widget(self.fill4)
self.add_widget(self.fill5)
self.add_widget(self.rech1)
self.add_widget(self.fill10)
self.add_widget(self.fill11)
self.add_widget(self.rech2)
self.add_widget(self.fill12)
self.add_widget(self.fill13)
self.add_widget(self.rech3)
self.add_widget(self.fill14)
self.add_widget(self.fill15)
self.add_widget(self.rech4)
def einfach(event, self):
r = self.rechts.text
l = self.links.text
x = 'x'
if x in l:
r1,r2 = r.split ('+')
rr = float(r1) + float(r2)
lr, ll = l.split('x')
lr = float(lr)
end = rr/lr
end = float (end)
self.lös.text = end
elif x in r:
l1,l2 = l.split ('+')
ll = float(l1) + float(l2)
rl, rr = r.split('x')
rl = float(rl)
end = ll/rl
end = float(end)
self.lös.text = end
def einfachS(self, event):
print ('nein')
class App(App):
def build(self):
return übung()
if __name__ == "__main__":
App().run()
Wie Sie sehen, es ist sehr kompakt, aber ich denke, es ist nur readyy für rund 1% Also ja. Vielen Dank im Voraus, mich
'def einfach (event, self)' ... Meinst du, die Reihenfolge dort zu wechseln? –
Oh ja. Aber wenn ich es wechsle, sagt es jetzt, dass das Ereignis fehlt. – Banana
Klammern entfernen. 'on_press = self.einfach()' –