Киви чекбокс. Собственное фоновое изображение - PullRequest
0 голосов
/ 01 мая 2019

Проблема в том, что при установке моего собственного background_checkbox_normal изображения оно больше, чем размер, который я определяю в .kv. В данном случае это простой красный квадрат, высота которого должна быть равна Button. Кстати по умолчанию kivy изображения работают нормально. Похоже, свойство размера не меняет размер фонового изображения. Когда я устанавливаю size в 1,1, само checkbox становится 1x1px, но красный квадрат становится намного больше. Я не вижу ничего о размере флажка в документе.

from kivy.config import Config
Config.set('graphics', 'multisamples', '0')
from kivy.app import App
from kivy.lang import Builder


kv = """
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
#:import Clock kivy.clock.Clock

Screen:  

    BoxLayout:
        size_hint_y: None
        orientation: 'horizontal'
        height: 20        
        Button:
            text: 'Go back'

        CheckBox:
            size_hint_x: None
            width: 20           
            background_checkbox_normal: 'red.png'

"""

sm = Builder.load_string(kv)


class TestApp(App):
    def build(self):
        return sm

red square & default

1 Ответ

1 голос
/ 01 мая 2019

Заменить

background_checkbox_normal: 'red.png'

с

        canvas.before:
            Rectangle:
                source: 'red.png'
                size: sp(22), sp(22)
                pos: int(self.center_x - sp(11)), int(self.center_y - sp(11))

выход

Result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...