Как я могу получить доступ к переменной экземпляра "self.data = 42" из "class Day"?
Это самая простая форма моей большой программы с графическим интерфейсом, поэтому, пожалуйста, игнорируйте всплывающее окно.Я работаю над логикой данных и не знаю, как получить доступ к этой переменной.
Что мне нужно, чтобы иметь возможность печатать (f "из класса Day {self.parent.data}"), ошибка говорит: "AttributeError: у объекта 'Week' нет атрибута 'data'",что логично, потому что «День класса» является составной частью «Недели класса» (это разработано для моей настройки графического интерфейса «имеет» отношение).
Я пытался создать еще один экземпляр "self.day1 = Day (self)", который не работал.Я также попытался "День класса (tk.Frame, Приложение):", чтобы увидеть, могу ли я наследовать данные, но все еще имеет ту же ошибку.
Если кто-то может помочь мне сделать эту работу, это позволит мне лучше понять супер () / композицию.
Еще раз спасибо за вашу помощь.
import tkinter as tk
from tkinter import ttk
class Application(tk.Tk):
def __init__(self):
super().__init__()
self.data = 42
self.week1 = Week(self)
class Week(tk.Frame):
def __init__(self, parent):
super().__init__(parent)
self.parent = parent
self.day1 = Day(self)
print ( f"from class Week {self.parent.data}")
class Day(tk.Frame):
def __init__(self, parent):
super().__init__(parent)
self.parent = parent
# print ( f"from class Day {self.parent.data}")
if __name__ == '__main__':
Application().mainloop()