使用self.root.geometry时Python UI无法显示的问题求助
问题原因与解决方法
你的代码核心问题是主程序入口块缩进错误,if __name__ == "__main__":被错误嵌套在类的__init__方法内部,导致程序运行时完全没执行窗口初始化和主循环的代码,所以UI无法显示。self.root.geometry本身没有问题,和你之前用root.geometry的功能是一致的。
修正后的代码
from tkinter import* from tkinter import ttk from PIL import Image,ImageTk class Face_Recognition_System: def __init__(self,root): self.root=root self.root.geometry("1530x790+0+0") self.root.title("Face Recognition System") # 把主程序入口移到类的外部,和类同级缩进 if __name__ == "__main__": root=Tk() obj=Face_Recognition_System(root) root.mainloop()
关键修改说明
- 将
if __name__ == "__main__":代码块的缩进调整到和Face_Recognition_System类同一层级,这样脚本直接运行时才会执行这段代码,创建Tk根窗口、实例化你的系统类,并启动tkinter的主循环,窗口就能正常显示了。
内容的提问来源于stack exchange,提问作者CatJeff
相关产品推荐
相关产品推荐

