Как изменить переменную при наследовании?Python

Программы на Python
Anonymous
Как изменить переменную при наследовании?

Сообщение Anonymous »

Я использую ООП впервые, я хочу, чтобы класс SubWindow наследовал все свойства класса MainWindow, но self.root будет tk.Toplevel() вместо tk .Tk():

Код: Выделить всё

import tkinter as tk

class MainWindow:
def __init__(self, size, title):
self.root = tk.Tk()
self.root.geometry(size)
self.root.title(title)

def packAll(self):
for widget in self.root.children:
self.root.children[widget].pack()

class SubWindow(MainWindow):
def __init__(self, size, title):
super().__init__(size, title)
Если я поставлю self.root = tk.Toplevel() после super().__init__(size, title), он все равно создаст еще один экземпляр tkinter . Частные переменные тоже не сработали. Я не нашел решения в Интернете. Как мне это решить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... inheriting

Вернуться в «Python»