Kivy计算器应用程序

时间:2014-06-08 12:34:52

标签: python macos python-2.7 frameworks 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 个答案:

答案 0 :(得分:2)

你在Calculator的show方法中有这一行:

self.inputs.text = self.inputs.text + self.text

这是指self.text,但您提供的代码从未为计算器设置此属性,因此您会收到给定的错误:Calculator object has no attribute 'text'