Объекты добавляются не на то окно в tkinter

Я создал второе окно и при попытки добавления объектов на второе окно, они добавляются на первое. Что нужно сделать?

КОД:

import tkinter as ttk
from tkinter import *
from tkinter import messagebox as msgbox


class AddWin(ttk.Toplevel):
    def __init__(self, parent):
        super().__init__(parent)

        # All elements
        lbl = ttk.Label(text="TEST")
        horizontal_scale = ttk.Scale(orient=HORIZONTAL, length=200, from_=1.0, to=100.0)

        # Start settings
        self.geometry("200x50")
        self.title("Sets MMC")
        self.resizable(True, True)
        self.protocol("WM_DELETE_WINDOW", self.closing_win)

        # Place elements
        lbl.pack()
        horizontal_scale.pack()

    def closing_win(self):
        if msgbox.askokcancel("Quit", "Do you want to save settings?"):
            pass    # Here's need be save settings

        self.destroy()


class App(ttk.Tk):
    def __init__(self):
        super().__init__()

        # All elements
        btn = ttk.Button(text="OFF", command=lambda: print("I WORK"))

        text_lbl = f"0p (pixels)"
        lbl = ttk.Label(text=text_lbl)

        sets_btn = ttk.Button(text="Settings", command=self.open_window)

        # Start settings
        self.geometry("200x75")
        self.title("MMC")
        self.resizable(True, True)
        self.protocol("WM_DELETE_WINDOW", self.closing_app)

        # Place elements
        btn.pack()
        lbl.pack()
        sets_btn.pack()

    def closing_app(self):
        if msgbox.askokcancel("Quit", "Do you want to quit?"):
            self.destroy()

    def open_window(self):
        add_win = AddWin(self)
        add_win.grab_set()


if __name__ == "__main__":
    app = App()
    app.mainloop()

Ответы (1 шт):

Автор решения: Amgarak

При создании виджетов необходимо передавать родительский элемент:

class AddWin(ttk.Toplevel):
    def __init__(self, parent):
        super().__init__(parent)

        # All elements
        lbl = ttk.Label(self, text="TEST")  # Добавлен self
        horizontal_scale = ttk.Scale(self, orient=HORIZONTAL, length=200, from_=1.0, to=100.0)  # Добавлен self

введите сюда описание изображения

→ Ссылка