如何使用 kivy 中的弹出窗口小部件更改屏幕?

巴克索

我在我的 kivy 应用程序中使用弹出窗口作为暂停菜单。但是我不知道如何用它来改变屏幕。我试过 root.manager.current 但这不起作用,因为我的弹出窗口小部件不是屏幕。我还尝试使用 self.manager.current 在 python 中创建一个函数,但可惜也不起作用。这是我现在唯一能想到的想法,但它也行不通。任何和所有的帮助表示赞赏。

蟒蛇片段

class PausePopup(Popup):
    pass

class MahScreenManager(ScreenManager):
    pass

class MahMenu(Screen):
    pass

class MahGame(Screen):

class MahGameApp(App):
    def build(self):
        window_color = get_color_from_hex("#eaeaea")
        Window.clearcolor = window_color
        return MahScreenManager()

MahGameApp().run()

千伏

<MahScreenManager>:
    MahMenu:
        name: "menu"
        id: menu
    MahGame:
        name: "game"
        id: game 

<PausePopup>:
    title: "Gahme is paused"
    size_hint: .5, .7
    BoxLayout:
        orientation: "vertical"
        padding: 10
        spacing: 10
        Button:
            text: "Continue"
            on_release: root.dismiss()

        Button:
            text: "Settings"
            on_release: app.open_settings()
        Button:
            text: "Main Menu"
            on_release: Factory.MahGame().current = "menu"

<MahMenu>:
    BoxLayout:
        padding: 50
        spacing: 25
        orientation: "vertical"
        Button:
            text: "Start Mah Gahme"
            on_release:
                root.manager.transition.direction = "left"
                root.manager.current = "game"
        Button:
            text: "Quit"
            on_release: app.stop()

<MahGame>:
    Button:
        text: "Pause"
        size_hint: 0.1, 0.1
        on_release: Factory.PausePopup().open()
el3ien

App例如,如果你在课堂上有你的屏幕管理器,你可以这样做:

app.sm.current = "menu"

然后在你的 App 类中,这样做:

    self.sm = MahScreenManager()
    return self.sm

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何引用使用KV语言在kivy中创建的不同屏幕的窗口小部件?

来自分类Dev

带有更多小部件的弹出窗口使用哪种布局-Kivy

来自分类Dev

如何立即更新Kivy中的小部件?

来自分类Dev

如何在Kivy中重置小部件

来自分类Dev

如何在kivy中删除小部件?

来自分类Dev

如何在Kivy中固定小部件?(或窗口)

来自分类Dev

如何获取字典值的Python列表并在Kivy UI中显示为表格(使用ListView窗口小部件)?

来自分类Dev

如何使用self.ids方法访问kivy中小部件内部的屏幕元素?

来自分类Dev

如何从Kivy中的python代码更改屏幕

来自分类Dev

如何在Kivy中防止小部件的大小改变?

来自分类Dev

如何在Kivy中获取小部件/布局的实际大小?

来自分类Dev

如何在Kivy中添加滚动文本小部件?

来自分类Dev

如何在KIVY中删除小部件(标签,按钮等)

来自分类Dev

如何在Kivy中防止小部件的大小改变?

来自分类Dev

如何在Kivy中查找小部件占用的区域/顶点?

来自分类Dev

kivy小部件:多个按钮,居中,获取窗口/屏幕尺寸

来自分类Dev

使用KIVY的小部件动态排列

来自分类Dev

单击python kivy中的按钮后如何打开弹出窗口?

来自分类Dev

使用kivy在弹出窗口中显示变量

来自分类Dev

如何将小部件固定在屏幕右侧而没有任何悬垂。Kivy Python

来自分类Dev

python - 如何在kivy中更改弹出颜色

来自分类Dev

如何在Column中更改子窗口小部件的位置?

来自分类Dev

__init__中的Kivy窗口小部件ID访问

来自分类Dev

在kivy中添加小部件

来自分类Dev

在kivy中添加小部件

来自分类Dev

如何使用Kivy更改应用程序的画布或窗口大小

来自分类Dev

如何从父窗口小部件更改一个子窗口小部件的状态,而子窗口小部件是单独文件中的单独类?

来自分类Dev

在 Kivy 中关闭弹出窗口

来自分类Dev

如何使用kivy screenmanager引用其他屏幕中的对象

Related 相关文章

  1. 1

    如何引用使用KV语言在kivy中创建的不同屏幕的窗口小部件?

  2. 2

    带有更多小部件的弹出窗口使用哪种布局-Kivy

  3. 3

    如何立即更新Kivy中的小部件?

  4. 4

    如何在Kivy中重置小部件

  5. 5

    如何在kivy中删除小部件?

  6. 6

    如何在Kivy中固定小部件?(或窗口)

  7. 7

    如何获取字典值的Python列表并在Kivy UI中显示为表格(使用ListView窗口小部件)?

  8. 8

    如何使用self.ids方法访问kivy中小部件内部的屏幕元素?

  9. 9

    如何从Kivy中的python代码更改屏幕

  10. 10

    如何在Kivy中防止小部件的大小改变?

  11. 11

    如何在Kivy中获取小部件/布局的实际大小?

  12. 12

    如何在Kivy中添加滚动文本小部件?

  13. 13

    如何在KIVY中删除小部件(标签,按钮等)

  14. 14

    如何在Kivy中防止小部件的大小改变?

  15. 15

    如何在Kivy中查找小部件占用的区域/顶点?

  16. 16

    kivy小部件:多个按钮,居中,获取窗口/屏幕尺寸

  17. 17

    使用KIVY的小部件动态排列

  18. 18

    单击python kivy中的按钮后如何打开弹出窗口?

  19. 19

    使用kivy在弹出窗口中显示变量

  20. 20

    如何将小部件固定在屏幕右侧而没有任何悬垂。Kivy Python

  21. 21

    python - 如何在kivy中更改弹出颜色

  22. 22

    如何在Column中更改子窗口小部件的位置?

  23. 23

    __init__中的Kivy窗口小部件ID访问

  24. 24

    在kivy中添加小部件

  25. 25

    在kivy中添加小部件

  26. 26

    如何使用Kivy更改应用程序的画布或窗口大小

  27. 27

    如何从父窗口小部件更改一个子窗口小部件的状态,而子窗口小部件是单独文件中的单独类?

  28. 28

    在 Kivy 中关闭弹出窗口

  29. 29

    如何使用kivy screenmanager引用其他屏幕中的对象

热门标签

归档