2015-05-25 2 views
3

Я только начал учиться программировать У меня есть действительно базовое приложение, основанное на учебнике по игре с тентом на сайте kivy.org, но у меня должен быть основной недостаток, который я не вижу когда я запускаю программу, все, что я получаю, это пустой экран, а не ожидаемый холст и метки. Пожалуйста, помогите мне потратить меньше времени на основы!python/kivy .kv file wont read

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:

#: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" 
+0

Я не уверен, является ли ваша проблема (вряд ли), но у меня была проблема с полом разделения в Kivy в прошлом. Если вы используете это под python 2, вам нужно учитывать разделение полов даже в вашем * .kv файле. Это означает, что 'center_x: root.width * 3/4' должно быть' center_x: root.width * 3.0/4.0'. – Kyrubas

ответ

4
  • Проверьте, является ли такой же, как ваше имя файла .kv ваш MainApp (App) имя класса без 'App' (если не сделать их же) Это не чувствительный к регистру. например: MaNagerApp (App) загрузит manager.kv

ИЛИ

  • Если вы не хотите, чтобы изменить имя, то просто добавьте self.load_kv (your_kv_file_name).

Как это:

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