Приложение Kivy с черным экраном на языке kv - PullRequest
0 голосов
/ 25 апреля 2020

Hello! я nub ie в python, и я попытался создать приложение kivy, но оно возвращает черный экран, как показано на img ниже

enter image description here

Я пытаюсь найти решение, но все равно не могу найти ...

Ниже приведен код:

Main.py

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()

main.kv

#: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 не возвращаются никакие ошибки или предупреждения

Кто-нибудь знает, как решить эту проблему?

Спасибо за помощь!

1 Ответ

0 голосов
/ 25 апреля 2020

Если вы не используете "Builder" для вызова указанного c .kv файла, тогда файл .kv должен называться так же, как и в классе, в котором вы строите приложение.

В вашем случае этот класс называется MyApp.

Из-за того, как работает Kivy, у вас не может быть «app» в имени, и поэтому ваш файл .kv должен называться «my.kv».

...