Простой калькулятор с Python kivy, как устранить ошибку?

Интерпретатор выдаёт ошибку name 'text' is not definded, при нажатии на кнопку, с цифрой 1.
Пишу под Андроид на Андроид, помогите пожалуйста, как это устранить?

from kivy.app import App

from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout

from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.widget import Widget

class CalApp(App):
	def update_label(self):
		self.lbl.text=self.formula
	
	def add_number(self,instance):
		if(self.formula=="0"):
			self.formula=""
			
		self.formula += str((text.instance))
		print(self.formula)
	
	def build(self):
		self.formula="0"
		bl=BoxLayout(orientation="vertical")
		gl = GridLayout(cols=4, rows=4, padding=[0, 500, 0, 0], spacing=3)
		
		self.lbl=(Label(text="0",
		size_hint=(.10, .15),
		font_size=(55),
		halign="right",
		valign="center",
		text_size=(1300,1300)))
		
		bl.add_widget(self.lbl)
		
		gl.add_widget(Button(text="1", font_size=50, on_press = self.add_number))
		gl.add_widget(Button(text="2", font_size=50))
		gl.add_widget(Button(text="3", font_size=50))
		gl.add_widget(Button(text=".", font_size=50))
		gl.add_widget(Button(text="4", font_size=50))
		gl.add_widget(Button(text="5", font_size=50))
		gl.add_widget(Button(text="6", font_size=50))
		gl.add_widget(Button(text="÷", font_size=50))
		gl.add_widget(Button(text="7", font_size=50))
		gl.add_widget(Button(text="8", font_size=50))
		gl.add_widget(Button(text="9", font_size=50))
		gl.add_widget(Button(text="x", font_size=50))
		gl.add_widget(Widget())
		gl.add_widget(Button(text="0", font_size=50))
		gl.add_widget(Button(text="+", font_size=50))
		gl.add_widget(Button(text="-", font_size=50))
		bl.add_widget(gl)
		return(bl)



if __name__ == "__main__":
	CalApp().run()
  • Вопрос задан
  • 547 просмотров
Пригласить эксперта
Ответы на вопрос 1
Wispik
@Wispik
self.formula += str((text.instance))
Вот здесь нет такой переменной text. Отсюда и ошибка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы