python - 使用 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 代码中不返回任何错误或警告
有谁知道如何解决这个问题?
感谢帮助!
解决方案
如果您不使用“Builder”来调用特定的 .kv 文件,那么 .kv 文件的名称必须与您在构建应用程序的类中的名称相同。
在您的情况下,此类称为 MyApp。
由于 Kivy 的工作方式,名称中不能包含“app”,因此,您的 .kv 文件需要称为“my.kv”。
推荐阅读
- z3 - Z3Py 中的最大值模型不正确
- mysql - 如何应用具有多个值和条件的高级搜索查询
- excel - CSV 文件和格式以在 Excel 中打开
- azure-database-mysql - mysql 命令行客户端说无法连接到 Azure Database for Mysql
- r - 在数据表 R 上使用多种条件和格式
- javascript - 可以最大限度地增加我创建的输入量
- amazon-web-services - terraform:使用给定的公钥添加操作系统用户
- firebase - Firestore 操作超时
- java - 如何使用有界类型参数的抽象工厂模式?
- javascript - 检查字符串是否在javascript列表中不起作用(在超级账本中)