【发布时间】:2018-08-09 07:15:36
【问题描述】:
所以我正在制作一个计算器/单位转换应用程序,并且想要一个标签来随着文本输入值的变化而动态显示计算。例如,假设计算部分只是乘以 3。因此,用户在文本输入中输入了 5。然后,他们单击计算按钮,它将乘以 3。然后,我想要一个标签来显示这个计算。目前,我无法弄清楚如何实现这一目标! 这是我的代码:
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.floatlayout import FloatLayout
FLOAT_LAYOUT = FloatLayout(size=(300, 300))
title_label = Label(text='0',
font_size=20,
pos_hint={'x': .4, 'y': .8},
size_hint=(.2, .2))
text_box = TextInput(multiline=False,
font_size=20,
pos_hint={'x': .4, 'y': .3},
size_hint=(.2, .2))
calculate_button = Button(text='Calculate',
font_size=20,
pos_hint={'x': .4, 'y': .1},
size_hint=(.2, .1))
class calculator_app(App):
def build(self):
FLOAT_LAYOUT.add_widget(title_label)
FLOAT_LAYOUT.add_widget(text_box)
FLOAT_LAYOUT.add_widget(calculate_button)
return FLOAT_LAYOUT
def calculate(self):
title_label.text = str(float(text_box.text)*3)
calculator_object = calculator_app()
calculator_object.run()
calculate_button.bind(on_press=calculator_object.calculate())
显然我做错了什么。 .bind(on_press=...) 不是解决这个问题的正确方法吗?提前致谢!
编辑:这是错误消息:
AssertionError: None is not callable
这与该行有关:calculate_button.bind(on_press=calculator_object.calculate())
【问题讨论】:
标签: python-2.7 kivy