Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Kivy中启动多个小部件_Python_User Interface_Kivy - Fatal编程技术网

Python 在Kivy中启动多个小部件

Python 在Kivy中启动多个小部件,python,user-interface,kivy,Python,User Interface,Kivy,将其想象为main.py: class Widget1(Button): pass class Widget2(ButtonBehavior, Image): pass 在.kv文件中: <Widget1>: Button: <Widget2>: Image: : 按钮: : 图片: 如何在主文件中初始化Widget1和Widget2?创建单独的应用程序s不起作用。像这样尝试 class Widget1(Button) p

将其想象为main.py:

class Widget1(Button):
    pass

class Widget2(ButtonBehavior, Image):
    pass
在.kv文件中:

<Widget1>:
    Button:

<Widget2>:
    Image:
:
按钮:
:
图片:
如何在主文件中初始化
Widget1
Widget2
?创建单独的
应用程序
s不起作用。

像这样尝试

class Widget1(Button)
    pass

class Widget2(ButtonBehavior, Image)
    pass

class MyMain(Widget):
    pass

class MyApp(App):
    def build(self):
        return MyMain()

MyApp().run()
在你的越野车里

<MyMain>:
    <Widget1>:
        Button:

    <Widget2>:
        Image:
:
:
按钮:
:
图片:

为什么要在继承它的小部件中放置另一个
按钮
图像
?在我看来:

<MyMain>:
    <Widget1>:
        Button:

    <Widget2>:
        Image:
创建按钮→ 将另一个按钮放入该按钮小部件

你不会想要的。而且绝对不会在规则中创建规则——这在python中很难做到:

def foo():
    def bar():
        ...
    ...
有这样的用例,但不是这样P同样,我不认为这样做有什么意义:

<MyMain>:
    <Widget1>:
        Button:

    <Widget2>:
        Image:
通过这种方式,您不需要创建另一个类作为占位符,如果您使用的是小的东西,那么这个方法非常方便。我不确定继承
MyApp
中的顺序,但它似乎对
BoxLayout,App
App,BoxLayout
案例都有效