执行按钮功能而不在Kivy中触摸它?

时间:2019-02-03 15:40:25

标签: python button kivy

我刚刚从Tkinter换到Kivy。在Tkinter中,我能够执行绑定到按钮的功能,而无需按下按钮。我用以下命令执行了按钮的功能:

    button.invoke()

我知道可以用on_press:绑定Kivy中的函数,但是也可以在不实际按下按钮的情况下执行按钮功能吗?

来自德国的问候

1 个答案:

答案 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()