python - 如何使用 kv 文件实现在 kivy 中渲染白色背景?
问题描述
我一直在尝试为 android 创建一个简单的应用程序,并且我首先开始研究 GUI。
但是,在我完成教程并尝试实现我自己的 GUI 后,它停止工作。官方文档不关注 .kv 文件,在 SO 上的其他问题中找到的答案都有不同的答案,我只是迷路了。
我所需要的只是要渲染的根小部件,它有一个屏幕大小的白色矩形。下面是最小的可重现代码。
我试过了:
- 更改
canvas
为Canvas
, 和canvas.before
SO 的另一个答案中所写。 - 使用构建应用程序
Builder.load_file()
build()
将覆盖更改为pass
没有工作。
任何帮助表示赞赏。
我的 KV 文件 (GutTrust.kv)
#:kivy 1.0.1
gutScreen:
Canvas:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
#Many more elements but they are unnessesary for the demonstration.
我的 Python 文件 (main.py)
from kivy.app import App
from kivy.uix.widget import Widget
class gutScreen(Widget):
"""Background"""
pass
class GutTrustApp(App):
def build(self):
return gutScreen()
if __name__ == '__main__':
GutTrustApp().run()
解决方案
将“gutScreen”重命名为“GutScreen”。将 kv 中的“GutScreen:”替换为“:”。将“画布”替换为“画布”。那行得通。——纳豆斋水户
并将 GutTrust.kv 重命名为 guttrust.kv – John Anderson
这两条评论解决了这个问题。谢谢!
推荐阅读
- django - Python opencv等待相机空闲
- travis-ci - Travis CI 未定义对 SDL2 和 GLEW 函数的引用
- haskell - 两条线和两个平面的交点
- ruby-on-rails - 从 rails 应用程序提供编译的 javascript 和 css 文件以在外部站点中使用
- android - 执行flutter clean时flutter无法删除build文件夹
- sql-server - 尝试在 Windows 上将 Linux 与 SQL Server 连接的连接问题
- haskell - 是 Haskell 的美元 $ 运算符,和 F# 的向后管道 <| 同样的想法?
- c# - 不同会话变量的不同会话超时?
- ebean - 使用 eBean ORM 时的 tornadofx 数据绑定
- flutter - Flutter 重置 AlertDialog 的状态