kivy 文件返回空白屏幕

kivy file returning blank screen

这里是kivy文件代码:

#:kivy 
<MyGridLayout>:
    GridLayout:
        cols:1

        GridLayout:
            cols:2

            Label:
                text: "Name"
            TextInput:
                multiline:False



            Label:
                text: "Time"
            TextInput:
                multiline:False

            Label:
                text: "Mood"
            TextInput:
                multiline:False

            Button:
                text:"Submit"

这里是主要的文件代码:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
# from numpy import full


class MyGridLayout(Widget):



       def button_pressed(self, instance):
        name = self.name.text
        time = self.time.text
        mood = self.mood.text
        self.add_widget(Label(text=f'hey, {name}\nAccording to your {mood} mood at {time}, we have some suggestions in songs: '))

        self.name.text=""
        self.time.text=""
        self.mood.text=""

class QuizMasters(App):
    def build(self):
        return MyGridLayout()

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

每当 运行 文件面临同样的黑屏问题时,我将主文件保存为 QuizMasters.py 并将 kivy 文件保存为 QuizMasters.kv ,有人可以帮忙吗.. .

您没有在 .kv 文件中指定 kivy 版本。试试这样设置,

#:kivy 2.0.0 # Or replace with your installed version.
.
.
.

当我 运行 你的代码时,我在 .kv 文件中遇到错误。删除 #:kivy 后,它对我有用。

如果这不起作用,MyGridLayout 继承自 Widget,这使其成为必须添加的 Widget。尝试切换到屏幕,然后告诉我是否可行。

此外,请不要忘记,.kv 文件的名称必须与您的 QuizMasters main class 相同。如果您的主要 class 包含 app,则不应包含它。在您的情况下,您的 .kv 文件应命名为 quizmasters.kv ALL LOWERCASE