我想用 DeployScreen 从 LogViewScreen 更新一个变量。每个类都是我的 NucleusPanel 中的一个选项卡/子项,它继承了 TabbedPanel。我注意到,当我迭代父类 (NucleusPanel) 的子类时,我只能看到我当前用于迭代子类的子类。如何从任一选项卡访问我父母的所有孩子?
class DeployScreen(RelativeLayout):
def __init__(self, **kwargs):
super(DeployScreen, self).__init__(**kwargs)
....
def getTaskList(self, event, tasklist):
for c in self.parent.children:
print(c)
# update LogViewScreen button text
self.parent.ids.LogViewTab.selected_tasklist = tasklist
....
class LogViewScreen(RelativeLayout):
selected_tasklist = StringProperty(" ")
def __init__(self, **kwargs):
super(LogViewScreen, self).__init__(**kwargs)
# defaults
self.canvas.clear()
self.ViewingIndicatorBox = Button(
text=self.selected_tasklist,
size_hint=(1,None),
size=(self.size),
)
self.ViewingIndicatorBox.disabled = True
self.add_widget(self.ViewingIndicatorBox)
return(None)
pass
class NucleusPanel(TabbedPanel):
def __init__(self, **kwargs):
super(NucleusPanel, self).__init__(**kwargs)
self.tab_pos = "top_left"
self.tab_width = 265
self.default_tab_text = "Deploy"
self.default_tab.id ='DeployTab'
self.default_tab_content = DeployScreen()
self.lv_tab = TabbedPanelHeader(text='Log Viewer')
self.lv_tab.id = 'LogViewTab'
self.add_widget(self.lv_tab)
self.lv_tab.content = LogViewScreen()
pass
class NucleusApp(App):
def build(self):
return(NucleusPanel())
我希望能够从 DeployScreen 看到 NucleusPanel 下的所有子项,但我只看到 DeployScreen:
<__main__.DeployScreen object at 0x000002262937DCE0>