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全局中文支持最简单的解决方法

posted @ 2021-08-25 22:21  michaelxguo  阅读(434)  评论(0编辑  收藏  举报