Kivy复选框。自己的背景图片

时间:2019-05-01 08:27:51

标签: python kivy

问题在于,设置自己的background_checkbox_normal图像时,它会比我在.kv中定义的尺寸大。在这种情况下,它是简单的红色正方形,其高度应与Button相同。 BTW默认的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

red square & default

1 个答案:

答案 0 :(得分:1)

替换

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