Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

kivy .kv file won't read

Tags:

python

kivy

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"
like image 498
scozman Avatar asked Dec 20 '22 03:12

scozman


1 Answers

  • 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()
    
like image 161
kiok46 Avatar answered Dec 21 '22 17:12

kiok46