首页 > 解决方案 > Kivy 复选框。自己的背景图片

问题描述

问题是,当设置我自己的background_checkbox_normal图像时,它比我在.kv. 在这种情况下,它是一个简单的红色正方形,其高度应与 相同Button。顺便说一句,默认kivy图像工作正常。看起来 size 属性不会改变背景图像的大小。当我将其设置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

红色方块 & 默认

标签: pythonkivy

解决方案


代替

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))

输出

结果


推荐阅读