Изменение текста элемента при нажатии на кнопку

Подскажите, пожалуйста, как сделать чтобы при нажатии кнопки btn1 окно toplevel закрывается и при этом мне нужно чтобы title_info изменил текст на var из класса Top()?

import customtkinter

class Top(customtkinter.CTkToplevel):
    def __init__(self):
        super().__init__()
        self.put_widget()
        self.var = "main_window"

    def pass_to_main(self): 
        Main.Main.title_info.configure(text=self.var)

    def put_widget(self):
        self.btn1 = customtkinter.CTkButton(self, width=200, text="push", corner_radius=24, 
                                              font=("Arial", 18), command=self.pass_to_main)
        self.btn1.grid(row=0, column=0, padx=20, pady=(20, 10), ipady=10, sticky="ewn")


class Frame(customtkinter.CTkFrame):
    def __init__(self, master):
        super().__init__(master)
        self.put_widget()

    def action_btn_signin(self):
        Top()

    def put_widget(self):
        self.btn = customtkinter.CTkButton(self, text="open toplevel", command=self.action_btn_signin)
        self.btn.grid(row=1, column=0, padx=20, pady=(10, 10), sticky="ew")


class Main(customtkinter.CTk):
    def __init__(self):
        super().__init__()
        self.put_widget()


    def put_widget(self):
        self.title_info = customtkinter.CTkLabel(self, text="Docs")
        self.title_info.grid(row=0, column=0, padx=10, pady=10)
        self.info_frame = Frame(self)
        self.info_frame.configure(corner_radius=14)
        self.info_frame.grid(row=1, column=0, padx=(20, 5), pady=(20, 5))
    

if __name__ == "__main__":
    main = Main()
    main.mainloop() 

'''


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

Автор решения: S. Nick

Попробуйте так:

import customtkinter


class Top(customtkinter.CTkToplevel):
    def __init__(self):
        super().__init__()
        self.put_widget()
        self.var = "main_window"

    def pass_to_main(self): 
#        Main.Main.title_info.configure(text=self.var)
# !!! +++
        main.title_info.configure(text=self.var) # title_info изменил текст на var
        self.destroy()                           # +++ окно toplevel закрывается
        
    def put_widget(self):
        self.btn1 = customtkinter.CTkButton(self, 
            width=200, text="push", corner_radius=24, 
            font=("Arial", 18), command=self.pass_to_main)
        self.btn1.grid(row=0, column=0, 
            padx=20, pady=(20, 10), 
            ipady=10, sticky="ewn")


class Frame(customtkinter.CTkFrame):
    def __init__(self, master):
        super().__init__(master)
        self.put_widget()

    def action_btn_signin(self):
# +++
        main.title_info.configure(text="Open Toplevel")             # +++
        Top()

    def put_widget(self):
        self.btn = customtkinter.CTkButton(self, 
            text="open toplevel", command=self.action_btn_signin)
        self.btn.grid(row=1, column=0, 
            padx=20, pady=(10, 10), sticky="ew")


class Main(customtkinter.CTk):
    def __init__(self):
        super().__init__()
        self.put_widget()

    def put_widget(self):
        self.title_info = customtkinter.CTkLabel(self, text="Docs")
        self.title_info.grid(row=0, column=0, padx=10, pady=10)

        self.info_frame = Frame(self)
        self.info_frame.configure(corner_radius=14)
        self.info_frame.grid(row=1, column=0, 
            padx=(20, 5), pady=(20, 5))
    

if __name__ == "__main__":
    main = Main()
    main.mainloop() 

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

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

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

→ Ссылка