为什么要将另一个Button 和Image 放在继承它的小部件中?在我看来是这样的:
创建按钮 → 将另一个按钮放入该按钮小部件
你不想这样。并且绝对不会在规则中创建规则 - 在 python 中几乎没有类似的东西:
def foo():
def bar():
...
...
有一些用例,但不是这样。 :P 我也没有看到像这样创建它的意义:
<MyMain>:
<Widget1>:
Button:
<Widget2>:
Image:
因为您必须以这种方式将它与 python 文件连接(它需要一个类)。其他的会是<MyWidget@Button>:
但是,有一种更简单的方法可以做到这一点,并且不需要额外的(在这种情况下是空的)类:
from kivy.app import App
from kivy.uix.image import Image
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.behaviors import ButtonBehavior
class Widget1(Button):
pass
class Widget2(ButtonBehavior, Image):
pass
class MyApp(BoxLayout, App):
def build(self):
self.add_widget(Widget1())
self.add_widget(Widget2())
return self
MyApp().run()
这样您就不需要创建另一个类作为占位符,如果您使用一些小东西,这非常方便。我不确定在MyApp 中继承顺序,但它似乎适用于BoxLayout, App 和App, BoxLayout 情况。