Eck*_*cko 5 python tkinter messagebox tkmessagebox python-3.x
我有一个程序需要向用户显示图形错误消息.这是一个tkinter GUI,所以我正在使用tkinter.messagebox.showerror
当我调用showerror时,它会显示错误,但也会创建一个空白的"tk"窗口,这是在调用Tk类的实例时创建的类型root = Tk().
from tkinter.messagebox import showerror
showerror(title = "Error", message = "Something bad happened")
Run Code Online (Sandbox Code Playgroud)
产生

如何才能显示此空白窗口?
from Tkinter import *
from tkMessageBox import showerror
Tk().withdraw()
showerror(title = "Error", message = "Something bad happened")
Run Code Online (Sandbox Code Playgroud)
Tk().withdraw()在显示错误消息之前调用将隐藏根窗口.
注意:from tkinter import *对于Python 3.x
如本答案所述,Tkinter 在我们创建更多小部件/对话框之前需要一个根窗口。如果没有根窗口,tkinter 会创建一个。因此,要使空白窗口消失,首先我们需要自己创建一个根窗口,将其隐藏并在对话框操作完成后销毁它。下面的示例代码
from tkinter import Tk
from tkinter.messagebox import showerror
root = Tk()
root.withdraw()
showerror(title = "Error", message = "Something bad happened")
root.destroy()
Run Code Online (Sandbox Code Playgroud)
注意:当您只需要显示一个对话框并且不存在其他窗口时,这适用。