Kivy计算器应用程序
我正在尝试用kivy框架制作一个简单的计算器。
这段代码在我的main.py文件里
class Calculator(AnchorLayout):
inputs = ObjectProperty(None)
def backward(self, express):
if express:
self.display.text = express[:-1]
def show(self):
self.inputs.text = self.inputs.text + self.text
def calculate(self, express):
if not express: return
try:
self.display.text = str( eval(express) )
except Exception:
self.display.text = 'error'
class CalculatorApp(App):
def build(self):
return Calculator()
CalculatorApp().run()
而在我的kivy文件中,我想用:
Button:
text: '9'
on_press: input_string.text += self.text
我想使用我在main.py中定义的show函数
Button:
text: '7'
on_press: root.show()
但是我遇到了一个错误:AttributeError: Calculator对象没有'text'这个属性。
1 个回答
2
在Calculator
的显示方法里,你有这么一行代码:
self.inputs.text = self.inputs.text + self.text
这里提到的“self.text”是指这个计算器的文本,但你提供的代码里从来没有给这个计算器设置过这个属性,所以你会遇到这个错误:Calculator object has no attribute 'text'
,意思是计算器对象没有'text'这个属性。