1 вариант
from tkinter import *
class Main(Frame):
def __init__(self, root):
super().__init__(root)
self.root = root
self.root.title("MyWindow")
self.root.geometry("400x300+250+500")
Child(root)
self.root.mainloop()
class Child:
def __init__(self, master):
self.root = Toplevel(master)
self.root.geometry("300x200")
root = Tk()
Main(root)
2 вариант
from tkinter import *
class Main(Frame):
def __init__(self, root):
super().__init__(root)
self.root = root
self.root.title("MyWindow")
self.root.geometry("400x300+250+500")
Child()
self.root.mainloop()
class Child(Toplevel):
def __init__(self):
super().__init__(root)
self.title("Child")
self.geometry("300x200")
root = Tk()
Main(root)
Почему во втором варианте в самом классе Child (self) появляются такие атрибуты, как title и т.д.?
Если сделать так в Main, то при выполнении, например self.title("MyWindow") компилятор выдаст ошибку, что main не имеет title