Python 为什么运行这个.py和.kv脚本时会出现黑屏?

Python 为什么运行这个.py和.kv脚本时会出现黑屏?,python,kivy,Python,Kivy,.py文件 这是python代码 当我启动程序时,它会给我一个空白的黑屏。我使用python文件作为功能,使用kv文件作为对象的属性。Py文件: import kivy from kivy.app import App from kivy.lang import Builder from kivy.uix.screenmanager import ScreenManager, Screen Builder.load_file('design.kv')

.py文件 这是python代码 当我启动程序时,它会给我一个空白的黑屏。我使用python文件作为功能,使用kv文件作为对象的属性。Py文件:

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

    Builder.load_file('design.kv')

    class LoginScreen(Screen):
        pass

    class RootWidget(ScreenManager):
        pass

    class MainApp(App):
        def build(self):
        return RootWidget()

    if __name__=="__main__":
        MainApp().run()
.kv文件 这是kv脚本

     <LoginScreen>:
         GridLayout:
             cols:1
             GridLayout:
                 cols:1
                 Label:
                     text: "User Login"
                 TextInput:
                     hint_text: "Username"
                 TextInput:
                     hint_text: "Password"
                 Button:
                     text: "Login"


             GridLayout:
                 cols:2
                 Button:
                     text: "Forgot password"
                 Button:
                     text: "Sign Up"
     <RootWidget>:
         name: "Login_screen"


    
:
网格布局:
科尔斯:1
网格布局:
科尔斯:1
标签:
文本:“用户登录”
文本输入:
提示文字:“用户名”
文本输入:
提示文字:“密码”
按钮:
文本:“登录”
网格布局:
科尔斯:2
按钮:
文本:“忘记密码”
按钮:
文本:“注册”
:
名称:“登录屏幕”

您需要在脚本末尾加载文件,然后在生成方法中返回:

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

class LoginScreen(Screen):
    pass

class RootWidget(ScreenManager):
    pass

kvfile = Builder.load_file('design.kv')

class MainApp(App):
    def build(self):
        return kvfile


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

即使这样做了,我还是得到了一个空白屏幕。试着这样修改你的kv文件:我不知道你为什么给ScreenManager起了个名字,你通常不会这么做。你想给屏幕起个名字,这样你就可以在它们之间转换,而不是屏幕管理器本身