Python Kivy函数作为一个性质
我正在使用一个大型GUI,在GUI中,我可能更经常使用以下小部件: 因此,我制作了以下kivy课程:Python Kivy函数作为一个性质,python,kivy,kivy-language,Python,Kivy,Kivy Language,我正在使用一个大型GUI,在GUI中,我可能更经常使用以下小部件: 因此,我制作了以下kivy课程: <ParameterFileInput@ParameterInput> ParameterLabel: width: root.label_width text: root.label_text FloatLayout: size_hint: None, 1.0 width: 10 Parame
<ParameterFileInput@ParameterInput>
ParameterLabel:
width: root.label_width
text: root.label_text
FloatLayout:
size_hint: None, 1.0
width: 10
ParameterTextInput:
gid: root.content_id
on_text_validate: app.set_widget_content(self.gid, None)
size_hint: 0.7,1.0
text: root.preset_text
FloatLayout:
size_hint: None, 1.0
width: 10
Button:
text: "Browse"
size_hint: None, 1.0
on_press: root.button_function
width: 100
当我按下按钮时,应该调用button_函数。
以下是我的实施示例:
ParameterFileInput:
label_text: "data_file"
content_id: "data_file"
button_function: app.train_button()
可能不用说,app.train\u button()
没有被调用
如果有人能帮我,我会很高兴的
您好,Finn问题是,在python中的绑定中,您传递函数名,kivy在内部调用函数,如果kivy没有,那么您必须进行调用,在您的情况下,解决方案是:
on_press: root.button_function()
那么,什么是函数呢?试一下:
on\u press:root.button\u function()
是的,我刚刚试过,它对我也有效:)谢谢!!如果您发布了回复,您会将其标记为正确吗?另一个问题。我可以在kv文件中定义lambda表达式吗?因此,我将编写一个lambda表达式,而不是button_函数:app.train_button?
on_press: root.button_function()