Main.py
def if_active(self, state):
If state is true:
print \"True\"
else:
print \"False\"
main.kv
Chec
The solution is as follow. Please refer to the example below for details.
CheckBox:
on_active: root.if_active(self.active)
def if_active(self, state):
if state:
print "True"
else:
print "False"
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()
#: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"