2016-09-24 76 views
0

我試圖構建包含兩個滑塊的簡單Kivy自定義小部件。 當屏幕呈現時,我得到兩對滑塊而不是一對。Kivy自定義小部件實例化兩次

我在做什麼錯?

Main.kv:

ScreenManagement: 
    MainScreen: 

<Button>: 
    size_hint: .2, .1 
    font_size: 20 

<Mixer>: 
    orientation:'vertical' 
    Slider: 
     min:0 
     max:127 
     value:64 
    Slider: 
     min:0 
     max:127 
     value:100 

<MainScreen>: 
    name: "mainscreen" 
    Mixer: 
    FloatLayout: 
     Button: 
      text: "Exit" 
      pos: root.width - self.width, 0 
      on_release: app.stop() 

Main.py:

import kivy 
kivy.require("1.9.1") 

from kivy.app import App 
from kivy.lang import Builder 
from kivy.uix.screenmanager import ScreenManager, Screen 
from kivy.uix.boxlayout import BoxLayout 

class ScreenManagement(ScreenManager): 
    pass 

class Mixer(BoxLayout): 
    pass 

class MainScreen(Screen): 
    pass 

class MainApp(App): 
    def build(self): 
     return Builder.load_file("Main.kv") 

if __name__ == "__main__": 
    MainApp().run() 

感謝您的幫助!

+0

我跑你的代碼,我可以看到兩個滑塊和一個按鈕。 – jligeza

+0

Jeez!感謝您的反饋意見;那麼也許這是由於我的配置/版本的Python。我在Windows 10上運行Python 2.7.12和最新的Kivy(1.9.1)。雖然我不得不提及我的Raspberry Pi(4個滑塊而不是兩個)的結果。奇怪的。 – aerodrink

+0

嘗試將kv文件重命名爲「main.kv」,並且不要在'build'方法中顯式加載它。它應該被自動加載。 – jligeza

回答

0

您應該將kv文件重命名爲main.kv,並在build方法中刪除它的顯式加載。它將自動加載。該錯誤是奇怪的,也許值得一票。