Я хочу обновить переменную из LogViewScreen с помощью DeployScreen.Каждый класс является вкладкой / дочерним элементом в моей 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())
Я ожидаю, что смогу видеть всех детей в NucleusPanel из DeployScreen, но я вижу только DeployScreen:
<__main__.DeployScreen object at 0x000002262937DCE0>