2024-10-01 09:21:06 发布
网友
我使用此选项从用户处获取“是/否”,但它会打开一个空窗口:
from Tkinter import * from tkMessageBox import * if askyesno('Verify', 'Really quit?'): print "ok"
这扇空窗不会消失。我怎样才能防止这种情况?在
这行不通:
Tkinter要求在创建任何其他小部件、窗口或对话框之前存在根窗口。如果在创建根窗口之前尝试创建一个对话框,tkinter将自动为您创建根窗口。在
解决方案是显式地创建一个根窗口,如果不希望它可见,则将其撤消。在
您应该始终只创建Tk的一个实例,并且您的程序应该设计为在该窗口被破坏时退出。在
Tk
显式创建根窗口,然后撤消。在
from Tkinter import * from tkMessageBox import * Tk().withdraw() askyesno('Verify', 'Really quit?')
不是很好的解决方案,但它是有效的。在
更新
不要创建第二个Tk窗口。在
Tkinter要求在创建任何其他小部件、窗口或对话框之前存在根窗口。如果在创建根窗口之前尝试创建一个对话框,tkinter将自动为您创建根窗口。在
解决方案是显式地创建一个根窗口,如果不希望它可见,则将其撤消。在
您应该始终只创建
Tk
的一个实例,并且您的程序应该设计为在该窗口被破坏时退出。在显式创建根窗口,然后撤消。在
不是很好的解决方案,但它是有效的。在
更新
不要创建第二个Tk窗口。在
^{pr2}$相关问题 更多 >
编程相关推荐