首页 > 解决方案 > 如何使 Kivy Checkbox 成为正方形

问题描述

有什么方法可以将圆形复选框的 kivy 复选框变成方形复选框?

这是我当前复选框的代码:

        CheckBox:
            group: 'check'
            id : chk
            pos: 240,300

标签: pythonkivy

解决方案


当你使用groupaCheckBox时,它会变成一个圆圈。您可以子类CheckBox化以避免这种行为:

<MyCheckBox@CheckBox>:
    canvas:
        Clear:
        Color:
            rgba: self.color
        Rectangle:
            source: self._checkbox_image
            size: sp(32), sp(32)
            pos: int(self.center_x - sp(16)), int(self.center_y - sp(16))

这会创建一个MyCheckBox即使在使用时也不显示圆圈行为的小部件group。上面kv只是定义了canvas通过使用Clear删除CheckBox canvas指令,并用基本相同的指令替换它们,但省略了group引用。


推荐阅读