kivy之CheckBox属性实操学习
checkbox部件属性不多,本练习举例了单选,复选二种方式,并将各checkbox进行id命名,每个都绑定了相同的动作,具体大家可以看源码进行学习。
先在开发工具pycharm里新建一个项目,然后新建mian.py,源码内容如下:
from kivy.app import App from kivy.uix.boxlayout import BoxLayout class CheckBoxBoxLayout(BoxLayout): def __init__(self,**kwargs): super(CheckBoxBoxLayout,self).__init__(**kwargs) #通过ID获取到checkbox部件并绑定方法 self.ids.first_check_0.bind(active=self.on_checkbox_active) self.ids.first_check_1.bind(active=self.on_checkbox_active) self.ids.first_check_2.bind(active=self.on_checkbox_active) self.ids.first_check_3.bind(active=self.on_checkbox_active) @staticmethod def on_checkbox_active(checkbox,value): if value: #这里意是如果checkbox传过来的value为True时,打印下面的内容 print('这个选择框',checkbox,'被选中',value) else: print('这个选择框',checkbox,'没有选中',value) class CheckBoxApp(App): def build(self): return CheckBoxBoxLayout() if __name__ =='__main__': CheckBoxApp().run()
再建一个KV文件,checkbox.kv源码内容如下:
<CheckBoxBoxLayout>: canvas: Color: rgba:1,1,1,1 Rectangle: pos:self.pos size:self.size orientation:'vertical' # 指定布局方向 GridLayout: cols: 4 padding : 30,30 spacing: 20, 20 halign:'right' row_default_height: '30dp' CheckBox: group:'check_0' # 分组名 id:first_check_0 # 添加ID属性 color:.9,.2,.1,1 # 设置选择框体颜色,除canvas设置颜色用Color,其他均为color. text:'check_0单选项1' Label: text: '选项1' font_size:20 bold:True #字体加粗 color:.5,.2,.5,1 #字体颜色 valign: 'middle' CheckBox: group:'check_0' id:first_check_1 # 添加ID属性 color:.2,.6,.2,1 text:'check_0单选项2' Label: text: '选项2' font_size:20 bold:True #字体加粗 color:.2,.9,.2,1 #字体颜色 valign: 'middle' CheckBox: group:'check_0' id:first_check_2 # 添加ID属性 color:.2,.2,.6,1 text:'check_0单选项3' Label: text: '选项3' font_size:20 bold:True #字体加粗 color:.2,.2,.9,1 #字体颜色 valign: 'middle' CheckBox: id:first_check_3 # 添加ID属性 color:.6,.6,.6,1 text:'check选项' Label: text: '选项' font_size:20 bold:True #字体加粗 color:.9,.2,.2,1 #字体颜色 valign: 'middle'
大家也可点此下载实操项目源码导入pycharm进行练习。
因有同学问到我的kivy学习资料里支持中文的方法是怎么解决的,我将解决中文的方法链接贴在这里,大家去照着做就可以了,很简单点击这个链接进入:kivy全局中文支持最简单的解决方法。