Я пытаюсь вызвать переменную экземпляра моего унаследованного класса account_validation из моего класса PageTwo. Я думаю, что я могу получить ошибку из-за моего унаследованного класса selfService, основными функциями которого является отображение различных tkinter windows. Кредит @bryan oakely за интерфейс
class selfService(tk.Tk, Toplevel):
def __init__(self, *args, **kwargs):
selfService.database = Database()
self.employeeWindow = None
tk.Tk.__init__(self, *args, **kwargs)
self.container = tk.Frame(self)
self.container.pack(side="top", fill="both", expand = True)
self.container.grid_rowconfigure(0, weight=1)
self.container.grid_columnconfigure(0, weight=1)
self.frames = {}
selfService.restart = False
for F in (StartPage, PageOne, PageTwo):
self.frame = F(self.container, self)
self.frames[F] = self.frame
self.frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
self.frame = self.frames[cont]
self.frame.tkraise()
class PageTwo(tk.Frame, account_validation):
def __init__(self, parent, controller):
account_validation.__init__(self)
print(self.test)
tk.Frame.__init__(self, parent)
class account_validation():
def __init__(self):
self.test = 'test'
Я подлежу:
print (self.test) account_validation. init (self) TypeError: init () отсутствует 2 обязательных позиционных аргумента: 'parent' и 'controller'
Более того, я хочу понять почему люди предпочли бы наследовать класс и обращаться к его свойствам таким образом, а не создавать экземпляр этого класса в другом классе и обращаться к свойствам этого класса таким образом? Каков лучший сценарий для обоих? Если я использую несколько методов класса из унаследованного класса, я должен оставить его унаследованным?