首页 > 解决方案 > 使用 kv 语言的黑屏 Kivy 应用程序

问题描述

你好!我是 python 中的 nubie,我尝试构建一个 kivy 应用程序,但它返回一个黑屏,如下图所示

在此处输入图像描述

我尝试找到解决方案,但无论如何我都找不到...

按照下面的代码:

主文件

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty


class MyGrid(Widget):
   name = ObjectProperty(None)
   email = ObjectProperty(None)

   def btn(self):
      print("Name:", self.name.text, "email:", self.email.text)
      self.name.text = ""
      self.email.text = ""




class MyApp(App):
   def build(self):
       return MyGrid()


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

主文件

#:kivy 1.11.1
<MyGrid>:

    name: name
    email: email

    GridLayout:
        cols:1
        size: root.width - 200, root.height -200
        pos: 100, 100

        GridLayout:
            cols:2

            Label:
                text: "Name: "

            TextInput:
                id: name
                multiline:False

            Label:
                text: "Email: "

            TextInput:
                id: email
                multiline:False

            Button:
                text:"Submit"
                on_press: root.btn()

在 VS 代码中不返回任何错误或警告

有谁知道如何解决这个问题?

感谢帮助!

标签: pythonkivykivy-language

解决方案


如果您不使用“Builder”来调用特定的 .kv 文件,那么 .kv 文件的名称必须与您在构建应用程序的类中的名称相同。

在您的情况下,此类称为 MyApp。

由于 Kivy 的工作方式,名称中不能包含“app”,因此,您的 .kv 文件需要称为“my.kv”。


推荐阅读