我刚刚从Tkinter换到Kivy。在Tkinter中,我能够执行绑定到按钮的功能,而无需按下按钮。我用以下命令执行了按钮的功能:
button.invoke()
我知道可以用on_press:
绑定Kivy中的函数,但是也可以在不实际按下按钮的情况下执行按钮功能吗?
来自德国的问候
答案 0 :(得分:1)
您可以使用trigger_action
方法:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class TestApp(App):
def build(self):
layout = BoxLayout()
self.b1 = Button(text="Button 1", on_press=self.on_press_button_1)
self.b2 = Button(text="Button 1", on_press=self.on_press_button_2)
layout.add_widget(self.b1)
layout.add_widget(self.b2)
return layout
def on_press_button_1(self, *args):
print("on press button 1")
def on_press_button_2(self, *args):
self.b1.trigger_action(0)
print("on press button 2")
if __name__ == "__main__":
TestApp().run()