Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.7k views
in Technique[技术] by (71.8m points)

python - kivy .kv file won't read

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

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"
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
  • 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.

OR

  • If you don't want to change name then simply add self.load_kv(your_kv_file_name), like this:

    def build(self):
        self.load_kv('singularity.kv')
        return Singularity()
    

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...