无效的属性名称 - Kivy python

Air*_* jr 1 kivy kivy-language

教程.py :

import kivy
kivy.require('1.9.0')

from kivy.app import App
from kivy.uix.widget import Widget

class CustomWidget(Widget):
    pass

class CustomWidgetApp(App):
    def build(self):
        return CustomWidget()

customwidget = CustomWidgetApp()
customwidget.run()
Run Code Online (Sandbox Code Playgroud)

customwidget.kv

<CustButton@Button>:
    font_size: 32
    color: 0, 0, 0, 1
    size: 150, 50
    background_normal: ''
    background_down: 'bt-down.png'
    background_color: .88, .88, .88, 1

    <CustomWidget>:
        CustButton:
            text: "Random"
            pos: root.x, 200

        CustButton:
            text: "Buttom"
            pos: 200, root.y

        CustButton:
            text: "Buttom"
            pos: 200, 400
Run Code Online (Sandbox Code Playgroud)

我运行此代码并立即收到此错误:

 ...
       7:    background_color: .88, .88, .88, 1
       8:
 >>    9:    <CustomWidget>:
      10:        CustButton:
      11:            text: "Random"
 ...
 Invalid property name
Run Code Online (Sandbox Code Playgroud)

iko*_*lim 5

问题是由于 kv 文件中的缩进。

主文件

from kivy.app import App
from kivy.uix.widget import Widget


class CustomWidget(Widget):
    pass


class CustomWidgetApp(App):

    def build(self):
        return CustomWidget()


if __name__ == '__main__':
    CustomWidgetApp().run()
Run Code Online (Sandbox Code Playgroud)

customwidget.kv

#:kivy 1.10.0

<CustButton@Button>:
    font_size: 32
    color: 0, 0, 0, 1
    size: 150, 50
    background_normal: ''
    background_down: 'bt-down.png'
    background_color: .88, .88, .88, 1

<CustomWidget>:
    font_size: 32
    color: 0, 0, 0, 1
    size: 150, 150
    background_color: 0.88, 0.88, 0.88, 1
    CustButton:
        text: "Random"
        pos: root.x, 200
    CustButton:
        text: "Buttom"
        pos: 200, root.y
    CustButton:
        text: "Buttom"
        pos: 200, 400
Run Code Online (Sandbox Code Playgroud)