2016-09-24 5 views
0

私は2つのスライダを含む単純なKivyカスタムウィジェットを作成しようとしています。 画面がレンダリングされると、1つではなく2つのスライダが得られます。Kivyカスタムウィジェットが2回インスタンス化される

私は間違っていますか?

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

コードを実行したところ、2つのスライダと1つのボタンが表示されます。 – jligeza

+0

Jeez!ご意見ありがとうございます;それはおそらく私の設定/ Pythonのバージョンに起因するかもしれません。私はPython 2.7.12をWindows 10上で最新のKivy(1.9.1)で実行しています。結果は私のRaspberry Pi(2つではなく4つのスライダー)で同じです。奇妙な。 – aerodrink

+0

kvファイルの名前をmain.kvに変更し、 'build'メソッドで明示的にロードしないでください。自動的に読み込まれます。 – jligeza

答えて

0

kvファイルの名前をmain.kvに変更し、buildメソッドで明示的な読み込みを削除する必要があります。自動的にロードされます。バグは奇妙で、おそらくチケットの価値があります。

関連する問題