Как сделать Kivy Checkbox квадратным

#python #kivy

#python #kivy

Вопрос:

Есть ли какой-либо способ превратить kivy checkbox из кругового флажка в квадратный флажок?

Это мой код для моего текущего флажка:

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

Ответ №1:

Когда вы используете group с CheckBox , он меняется на круг. Вы можете создать подкласс 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 ссылку.