How to make kivy checkbox pass down it's state

后端 未结 1 1994
庸人自扰
庸人自扰 2021-01-25 09:50

Main.py

def if_active(self, state):
    If state is true:
        print \"True\"
    else:
        print \"False\"

main.kv

Chec         


        
相关标签:
1条回答
  • 2021-01-25 10:44

    The solution is as follow. Please refer to the example below for details.

    Snippets

    main.kv

    CheckBox:
        on_active: root.if_active(self.active)
    

    main.py

    def if_active(self, state):
        if state:
            print "True"
        else:
            print "False"
    

    Example

    main.py

    from kivy.app import App
    from kivy.uix.boxlayout import BoxLayout
    from kivy.core.window import Window
    
    
    class CheckBoxDemo(BoxLayout):
        def on_checkbox_active(self, value):
            if value:
                print("The checkbox is active because value={}".format(value))
            else:
                print("The checkbox is inactive because value={}".format(value))
    
        def on_radiobutton_active(self, value):
            if value:
                print("The radiobutton is active because value={}".format(value))
            else:
                print("The radiobutton is inactive because value={}".format(value))
    
    
    class TestApp(App):
        Window.size = (360, 360)
        title = "Kivy Checkbox & RadioButton Demo"
    
        def build(self):
            return CheckBoxDemo()
    
    
    if __name__ == "__main__":
        TestApp().run()
    

    test.kv

    #:kivy 1.10.0
    
    <CheckBoxDemo>:
        orientation: "vertical"
        Label:
            size_hint: 1, 0.2
            text: "Checkbox"
    
        GridLayout:
            cols: 2
    
            CheckBox:
                on_active: root.on_checkbox_active(self.active)
            CheckBox:
    
            CheckBox:
                group: "radiobutton1"
                on_active: root.on_radiobutton_active(self.active)
            CheckBox:
                group: "radiobutton1"
                on_active: root.on_radiobutton_active(self.active)
    
            CheckBox:
                group: "radiobutton2"
            CheckBox:
                group: "radiobutton2"
    

    Output

    0 讨论(0)
提交回复
热议问题