kivy .kv 文件无法读取
问题描述
我刚刚开始学习编程.我有一个基于 kivy.org 网站上的乒乓球游戏教程的非常基本的应用程序,但我必须有一个我看不到的基本缺陷,因为当我运行程序时,我得到的只是一个空白屏幕而不是预期的画布和标签.
I have just started learning to program. I have a really basic App based on a pong game tutorial on the kivy.org website, but I must have a basic flaw that I can't see, because when I run the program, all I am getting is a blank screen rather than the expected canvas and labels.
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.widget import Widget
class Singularity(Widget):
pass
class SingularityApp(App):
def build(self):
return Singularity()
if __name__ in ('__main__', '__android__'):
SingularityApp().run()
和singularity.kv:
and the singularity.kv:
#:kivy 1.9.0
<Singularity>:
canvas:
Rectangle:
pos: self.center_x - 5, 0
size: 10, self.height
Label:
font_size: 70
center_x: root.width / 4
top: root.top - 50
text: "0"
Label:
font_size: 70
center_x: root.width * 3 / 4
top: root.top - 50
text: "0"
解决方案
- 检查您的
MainApp(App)
类名是否与不带App"的 .kv 文件名相同(如果不是,请将它们设为相同).它不区分大小写.例如:MaNagerApp(App)
将加载 manager.kv. - Check whether your
MainApp(App)
class name is same as your .kv file name without the 'App' (if not, make them the same). It's not case sensitive. For example:MaNagerApp(App)
will load manager.kv. 如果您不想更改名称,则只需添加
self.load_kv(your_kv_file_name)
,如下所示:
或
def build(self):
self.load_kv('singularity.kv')
return Singularity()
相关文章