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进行练习。