Kivy относительно всплывающих окон и экранов - PullRequest
0 голосов
/ 01 ноября 2019

У меня вопрос, в Kivy можно ли перейти на другой экран из всплывающего окна?

1 Ответ

0 голосов
/ 05 ноября 2019

Это одно решение

enter image description here

from kivy.lang.builder import Builder
from kivy.app import App
from kivy.uix.popup import Popup

kv = """
#:import Factory kivy.factory.Factory

<ChangePopup>:
    size_hint: (None, None)
    size: (200, 200)

    Button: 
        text: "Change screen"
        on_press: app.root.current = 'screen2'; root.dismiss()

ScreenManager:
    Screen:
        BoxLayout:
            orientation: 'vertical'
            Label:
                text: "Screen1"
            Button:
                text: "Open Popup to change to Screen2"
                on_press: Factory.ChangePopup().open()
    Screen:
        name: 'screen2'
        Label:
            text: "Screen2"
"""

class ChangePopup(Popup):
    pass

sm = Builder.load_string(kv)

class NewApp(App):

    def build(self):
        return sm

if __name__ == '__main__':
    NewApp().run()
...