python - Kivy CheckBox 看起来像实心黑框(不是复选框)

标签 python kivy

我正在制作一个 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):

enter image description here

勾选后...

enter image description here

最右边的黑框实际上是复选框,并且可以正常工作,但是用户无法知道它实际上是一个复选框。我希望中间有一个较小的空方 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/

相关文章:

python - Kivy 应用程序加载后崩溃

python - 如何使用循环抓取页面的所有项目

python - 将 python 3 中的大列表保存到二进制文件

python - 如何手动触发共享 pytest fixture 的重新执行?

Python异步: second coroutine wrapped in a Task is not scheduled (but first is)

ubuntu - 为什么我收到错误消息 "Could not find a version that satisfies the requirement Cython"

python - 在接受输入之前将输入的 Kivy TextInput 验证为数据类型整数

kivy - 有什么方法可以在 Kivy App 上转换广告?

python - 创建 kivy 行为,以与 on_touch_down 相同的方式调度事件冒泡

python - Pandas 从具有值的列中选择并获取列名称