Tkinter调用mainloop仍不显示窗口,自定义Tk根类实现异常
问题根因
你编写的自定义Tk子类没有在__init__方法中调用父类Tk的构造函数,导致根窗口的基础初始化逻辑未执行,窗口实例不完整,无法正常渲染,mainloop也无法正常调度窗口事件。
修复代码
from tkinter import * class a_customized_window(Tk): def __init__(self): # 优先调用父类Tk的构造方法,完成操作系统窗口、事件上下文等核心初始化 super().__init__() self.title("A custom window") win = a_customized_window() win.mainloop()
补充说明
Tk类的__init__方法内部封装了操作系统窗口句柄创建、Tkinter事件循环上下文初始化等核心逻辑,只要子类重写了__init__方法,就必须优先调用父类的构造逻辑,否则所有依赖父类初始化的属性、方法都无法正常运行。
内容的提问来源于stack exchange,提问作者Adam Lozi
相关产品推荐
相关产品推荐

