私はアプリのクラスでは、このような二つのクラス(MainBoxLayoutと接続)をインスタンス化するとき:アクセス他のウィジェットのインスタンス
class MartyApp(App, BoxLayout):
def build(self):
self.title = 'Marty Robot App'
self.orientation = 'vertical'
self.add_widget(MainBoxLayout())
self.add_widget(Connection())
return self
私はの<MainBoxLayout>:
一部にConnection
クラス/インスタンスにアクセスするにはどうすればよいです私のキビーファイル?ここで:
<MainBoxLayout>:
canvas:
Color:
rgb: [.121, .545, .912]
Rectangle:
pos: self.pos
size: self.size
<Connection>:
available_martys: spinner_discovered_martys.values
rows: 4
cols: 1
padding: 5
私は、MartyApp
クラスでConnection
クラスをインスタンス作成MainBoxLayout
クラスに引数として渡すと、そのインスタンスを返すようにしようとしましたが、その後、私のアプリは、まっすぐにクラッシュし、私は知りませんなぜ。ここで
例:
class MartyApp(App, BoxLayout):
conncetion = Conncetion()
def build(self):
return MainBoxLayout(conncetion)
わかりましたので、私は 'MartyApp'クラスの' build'方法では、そのクラスのオブジェクトを作成します。私が ':'を.kvファイルに入れると、このオブジェクトを取るか、代わりに別のオブジェクトを作成しますか?またはより一般的です: ':'または 'Connection:'(ウィジェットの一部として)はそのクラスの別のインスタンスを作成しますか? –