Kivy:继承另一个动态类值

时间:2017-09-28 19:18:58

标签: python-3.x class nested kivy kivy-language

我有一个像这样的动态类:

<Button onClick={this.handleClick(`${index}${i}`)}></Button>

对于我的一些CustomBoxLayout,我想添加一个canvas:之前。 我可以创建一个新的动态类,它们将两者的值组合在一起:

<BLMother@BoxLayout>:
    orientation:"horizontal"
    padding: 10, 0
    spacing: 10

<BLChildren@BoxLayout>: orientation:"horizontal" padding: 10, 0 spacing: 10 canvas.before: Color: rgba: 1, 1, 1, 0.8 Rectangle: size: self.size pos: self.x + self.width*0.025, self.y 是否可以继承BLChildren的所有价值?

我使用Kivy(1.10.1.dev0)

2 个答案:

答案 0 :(得分:1)

是的,BLChildren可以继承BLMother的所有价值。有关详细信息,请参阅以下示例。

示例 - 从BLMother继承

main.py

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout


class RootWidget(FloatLayout):
    pass


class TestApp(App):
    title = "With Inheritance of BLMother"

    def build(self):
        return RootWidget()


if __name__ == "__main__":
    TestApp().run()

test.kv

#:kivy 1.10.0

<BLMother@BoxLayout>:
    orientation:"horizontal"
    padding: 10, 0
    spacing: 10

<BLChildren@BoxLayout>:
    canvas.before:
        Color:
            rgba: 1, 1, 1, 0.8
        Rectangle:
            size: self.size
            pos: self.x + self.width*0.025, self.y
    BLMother:

<RootWidget>:
    BLChildren:

输出 - 从BLMother继承

enter image description here

答案 1 :(得分:1)

我不知道为什么你把pos = self.x + self.width * 0.025,self.y但是 你走了:

-kv:

master

-py:

git