从另一个布局更改屏幕

我的意图是在我们的窗口右侧有一个布局,在右侧有一个 ScreenManager。两者都在不同的布局中,但在同一个主应用程序中。我似乎无法在屏幕管理器的布局更改屏幕上设置按钮。


这是我的 kv 代码:


<MainWindow>:

    rows: 1

    columns: 2


    LeftBox:


    RightBox:


<LeftBox>:

    Button:

        text: "Screen 1"

        on_press:

            app.root.ids.scr.switch_to(screen=Screen1)


    Button:

        text: "Screen 2"


<RightBox>:

    ScrMng:


<ScrMng>:

    id: scr


    Screen1:

        Button:

            text: "Hello"


    Screen2:

        Button:

            text: "World"

这是我的python代码:


import kivy

from kivy.app import App

from kivy.uix.label import Label

from kivy.uix.gridlayout import GridLayout

from kivy.uix.button import Button

from kivy.uix.boxlayout import BoxLayout

from kivy.uix.widget import Widget

from kivy.uix.textinput import TextInput

from kivy.uix.screenmanager import ScreenManager, Screen

from kivy.properties import ObjectProperty


class MainWindow(GridLayout):

    pass


class ScrMng(ScreenManager):

    pass


class LeftBox(BoxLayout):

    pass


class RightBox(BoxLayout):

    pass


class Screen1(Screen):

    pass


class Screen2(Screen):

    pass



class newtestApp(App):

    def build(self):

        return MainWindow()


k = newtestApp()

k.run()

我得到的错误是


AttributeError: 'super' 对象没有属性 ' __getattr__'


Cats萌萌
浏览 174回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python