我正在制作一个BoxLayout小部件(orientation ='horizontal'),其中包含三个小部件,一个标签,一个文本框和一个复选框.
thisRow = BoxLayout(orientation='horizontal')
l = Label(text='Enter plate 1:\n(Plate #)')
t = TextInput(text = 'this is a text box')
c = CheckBox()
thisRow.add_widget(l)
thisRow.add_widget(t)
thisRow.add_widget(c)
Run Code Online (Sandbox Code Playgroud)
这会生成以下小部件(thisRow):

检查框后...

最右边的黑匣子实际上是复选框,并且在功能上起作用,但是用户无法知道它实际上是一个复选框.我希望中间有一个较小的空方块,如图所示.
如何获得传统的复选框图像(较小的空方框)?或者一般来说,我怎样才能让盒子更明显,这是一个复选框而不仅仅是一个空标签?
谢谢
这是一个非常有趣的问题,Malonge 以一种很好的方式尝试了它。现在(1.9.2-dev)仍然有固定大小的CheckBox's well,称之为背景。这是一个Widget从地图集获取的图像,并在状态发生变化时发生变化。因此,直到现在还没有明确的方法来做到这一点。这是一个例子。很快主人就会有CheckBox(color=[r,g,b,a])选择。谢谢 ;)
from kivy.lang import Builder
from kivy.base import runTouchApp
from kivy.uix.boxlayout import BoxLayout
Builder.load_string('''
<CheckBoxBG>:
Label:
TextInput:
CheckBox:
canvas.before:
Color:
rgb: 1,0,0
Rectangle:
pos:self.center_x-8, self.center_y-8
size:[16,16]
Color:
rgb: 0,0,0
Rectangle:
pos:self.center_x-7, self.center_y-7
size:[14,14]
''')
class CheckBoxBG(BoxLayout):pass
runTouchApp(CheckBoxBG())
Run Code Online (Sandbox Code Playgroud)
当背景颜色为黑色时,看起来较小的复选框被隐藏。这是红色背景的示例。

这并不理想,因为我确实喜欢黑色背景,但我现在可以用它运行。如果有人知道如何用黑色背景做到这一点,那就太好了。谢谢