我正在制作一个 BoxLayout 小部件(方向 = '水平'),其中包含三个小部件、一个标签、一个文本框和一个复选框。
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)
这会生成以下小部件 (thisRow):
勾选后...
最右边的黑框实际上是复选框,并且可以正常工作,但是用户无法知道它实际上是一个复选框。我希望中间有一个较小的空方 block ,如图所示 here.
我如何获得传统的复选框图像(较小的空方框)?或者一般来说,我怎样才能更明显地表明该框是一个复选框,而不仅仅是一个空标签?
谢谢
最佳答案
这是一个非常有趣的问题,Malonge 以一种很好的方式尝试了这个问题。现在(1.9.2-dev)CheckBox
的井上仍然有固定大小,称之为背景。这是 Widget
从 atlas 中获取的图像,并在状态发生变化时发生变化。因此直到 now没有明确的方法如何去做。这是一个例子。很快在 master 上就会有 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())
关于python - Kivy CheckBox 看起来像实心黑框(不是复选框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29685505/