2017-06-17 38 views
-1

我正在用Python和Kivy構建一個生命計數器。Python/Kivy - kv文件調用不起作用

下面我千伏

#:kivy 1.0 

<Test>: 
    AnchorLayout: 
     anchor_x: 'center' 
     anchor_y: 'top' 
     ScreenManager: 
      size_hint: 1, .9 
      id: _screen_manager 
      Screen: 
       name: 'screen1' 
       BoxLayout: 
        orientation: 'vertical' 
        padding: 50 
        BoxLayout: 
         orientation: 'horizontal' 
         Button: 
          text: "Life Counter" 
        BoxLayout: 
         orientation: 'horizontal' 
         Button: 
          text: "Player 1" 
         Button: 
          text: "Player 2" 
        BoxLayout: 
         orientation: 'horizontal' 
         Button: 
          text: "-" 
         Button: 
          text: "0" 
         Button: 
          text: "+"  
         Button: 
          text: "-" 
         Button: 
          text: "0" 
         Button: 
          text: "+" 

這裏的代碼是我的應用程序

import kivy 
kivy.require('1.0.7') 

from kivy.app import App 

class TestApp(App): 
    pass 

if __name__ == '__main__': 
    TestApp().run() 

這裏是我的輸出

enter image description here

能否請你幫我瞭解我我錯過了? 如果我在kv文件中添加一個帶有描述的簡單按鈕,代碼完美工作。 謝謝

+0

刪除':'在你的.kv行中並重新縮進。 – FJSevilla

+0

它的工作原理..謝謝! –

回答

0

解決感謝@FJSevilla刪除和重新縮進。

1

你原來的代碼沒有顯示任何東西的原因是因爲在你的main.py中創建了類TestApp()然後你調用它來運行,但是在你的kv文件中你有<Test>:, 。基本上所有你需要做的就是創建一個新的類象下面這樣:

class Test(AnchorLayout): 
    pass 
在TestApp類變化

然後到以下幾點:從.kv

class TestApp(App): 
    define build(self): 
    return Test() 

刪除測試和anchorlayout與名替換新的類「測試」,並unindent .kv文件的其餘部分,所以一切都對齊。

+0

謝謝你的解釋! –