kivy .kv 文件无法读取

2022-01-15 00:00:00 python kivy

问题描述

我刚刚开始学习编程.我有一个基于 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) 将加载 ma​​nager.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()
      

相关文章