當我實例化兩個類(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
我如何可以訪問Connection
類/實例中的<MainBoxLayout>:
部分我的kivy文件?在這裏:
<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:'(作爲一個小部件的一部分)創建該類的另一個實例? –