我有这个代码并且它有效,但我确定这不是正确的方法。在我的.kv中,一个按钮在main.py中触发两个函数。
Button:
text: "Press Me"
on_release: root.on_our_btn_release(text_input.text)
on_release: root.get_items(text_input.text)
我真棒项目的下一步将添加更多功能,当单击相同的按钮时,这些功能必须关闭。这将产生一个相当长的列表,如:
Button:
text: "Press Me"
on_release: root.on_our_btn_release(text_input.text)
on_release: root.get_items(text_input.text)
on_release: root.another_function(text_input.text)
on_release: root.andanotherone(text_input.text)
on_release: root.herewegoagain(text_input.text)
on_release: root.this_is_getting_boring(text_input.text)
on_release: root.think_you_got_the_picture(text_input.text)
这对我来说是非常丑陋的代码,但我还没有找到一个很好的方法来做到这一点。
任何?提前谢谢!
;-) Erik
答案 0 :(得分:1)
您可以通过多种不同的方式对其进行构建,最佳选择主要取决于您。
如果你不想在kv中使用太多函数,可以选择一个root.do_everything(),并将所有其他调用放在python端。
答案 1 :(得分:0)
我相信一个稍微优雅的解决方案是缩进并列出不同的回调。
on_release:
first()
second()
另一种可能但丑陋的解决方案是用分号分隔函数。
on_release: first(); second()
答案 2 :(得分:0)
您可以使用“on_press”和“on_release”。将一个方法/函数分配给“on_press”,将另一个分配给“on_release”