Python Tkinter:第二个窗口的Label标签不显示?如何解决?
问题解决:Tkinter弹窗Label不显示的原因及修复
你的代码核心问题出在addition函数里的window2.mainloop()——Tkinter应用只需要一个主事件循环,也就是最外层的root.mainloop(),所有Toplevel弹窗都会受这个主循环管理。额外调用子窗口的mainloop()会导致事件循环嵌套,直接阻塞Label的渲染和窗口的正常更新。
修复后的代码如下:
from tkinter import * root = Tk() root.title("first app") root.geometry("420x420") def addition(): window2 = Toplevel() window2.geometry('420x420') label2 = Label(window2, text="fts") label2.pack() # 移除多余的window2.mainloop() addition_button = Button(root, text="addition", command=addition) addition_button.pack() root.mainloop()
删掉window2.mainloop()后,弹窗里的Label就能正常显示了。
内容的提问来源于stack exchange,提问作者Isaiah Adams
相关产品推荐
相关产品推荐

