名称“窗口”未定义错误在执行上述代码时出现

问题描述 投票:0回答:1
def create_window():

    window = ctk.CTk()
    window.title("CREATE")
    window.geometry("1789x760")

create_frame = ctk.CTkFrame(window, width=600, height=300)
create_frame.pack()

create_label = ctk.CTkLabel(create_frame, text="Sample")
create_label.pack()

window.mainloop()
python tkinter pycharm customtkinter new-window
1个回答
0
投票

你可以试试这个函数式方法:

def populate_window(root_window):
    create_frame = ctk.CTk.Frame(root_window, width=600, height=300)
    create_frame.pack()
    create_label = ctk.CTkLabel(create_frame, text="Sample")
    create_label.pack()

window = ctk.CTk()
window.title('CREATE')
window.geometry('1789x760')
window.mainloop()

这会起作用,但是,您将无法轻松地重用

populate_window
函数。

这种面向对象的方法将允许更多的可移植性和代码重用:

class Window(ctk.CTkFrame):
    def __init__(self, parent):
        self.parent = parent
        ctk.CTkFrame.__init__(self, self.parent)
        self.pack()
        self.populate_window()

    def populate_window(self):
        create_label = ctk.CTkLabel(self, text="Sample")
        create_label.pack()

if __name__ == '__main__':
    root = ctk.CTk()
    root.title("CREATE")
    root.geometry('1789x760')
    window = Window(root)
    root.mainloop()
© www.soinside.com 2019 - 2024. All rights reserved.