Почему мое приложение KIVY не показывает содержимое? - PullRequest
0 голосов
/ 08 октября 2019

У меня проблемы с кодом, приложение работает, но не показывает его содержимое. Я не знаю, почему он не показывает содержание. это мой код:

from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen


class entry(Screen):
    pass


class secret(Screen):
    pass


SM = ScreenManager()
SM.add_widget(entry(name="entry"))
SM.add_widget(secret(name="secret"))


class ScreenApp(App):
    def build(self):
        return SM


if __name__ == "__main__":
    ScreenApp().run()

и мой файл kv

<entry>
    GridLayout:
        cols: 3

        Label:
            text: "Enter the password"
        TextInput:
            id: password
            multiline: False
        Button:
            text: "Enter"
            on_press: root.manager.current = "secret" if password.text == "love" else "Screen 1"


<secret>
    GridLayout:
        cols: 1

        Label:
            text: "You have reached my secret"
        Button:
            text: "Back"
            on_press: root.manager.current = "entry"

что я делаю не так? есть какие-нибудь проблемы с de python или файлом kv?

1 Ответ

0 голосов
/ 08 октября 2019

Вы должны сделать это:

class ScreenApp(App):
    def build(self):
        SM = ScreenManager()
        SM.add_widget(entry(name="entry"))
        SM.add_widget(secret(name="secret"))
        SM.current = 'entry'
        return SM

Произойдет ошибка, если вы не введете 'love' в текстовое поле, так как оно вызывает Screen1, но вы не определили Screen1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...