здравствуйте, есть во такой код:
from kivy.app import App
from kivy.properties import StringProperty
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
import kivy.uix.button
from kivy.uix.floatlayout import FloatLayout
class contair (FloatLayout):
pass
class app(App):
text = StringProperty('decision')
def build(self):
return contair()
def a(self):
a = self.root.ids.inputa.text
print(a)
def b(self):
b = self.root.ids.inputb.text
print(b)
def c(self):
c = self.root.ids.inputc.text
print(c)
def yarik(self):
D = self.b ** 2 - 4 * self.a * self.c
print(D)
if __name__ == '__main__':
app = app()
app.run()
и вот такой kv файл:
<contair>:
Button:
size_hint: 1,0.4
pos_hint: {'center_x': 0.5, 'center_y': 0.6}
text: 'solve'
on_press: app.yarik()
TextInput:
size_hint: 0.15,0.07
pos_hint: {'center_x': 0.15, 'top': 0.9}
hint_text: 'a'
on_text: app.a()
id: inputa
input_filter: 'float'
TextInput:
size_hint: 0.15,0.07
pos_hint: {'center_x': 0.5, 'top': 0.9}
hint_text: 'b'
on_text: app.b()
id: inputb
input_filter: 'float'
TextInput:
size_hint: 0.15,0.07
pos_hint: {'center_x': 0.8, 'top': 0.9}
hint_text: 'c'
on_text: app.c()
id: inputc
input_filter: 'float'
Label:
size_hint: 0.15,0.07
pos_hint: {'center_x': 0.32, 'top': 0.9}
text:'x**2 +'
Label:
size_hint: 0.15,0.07
pos_hint: {'center_x': 0.65, 'top': 0.9}
text:'x +'
Label:
size_hint: 1, 0.3
pos_hint: {'center_x': 0.5, 'center_y': 0.2}
text: app.text
я хочу чтобы при нажатии на кнопку высчитывался D, но строка из textinput не хочет преобразовывается в число
пробовал вот так:
def a(self):
a = float(self.root.ids.inputa.text)
print(a)
def b(self):
b = float(self.root.ids.inputb.text)
print(b)
def c(self):
c = float(self.root.ids.inputc.text)
print(c)