tkinter showerror创建空白tk窗口

时间:2015-06-16 19:59:27

标签: python python-3.x tkinter messagebox tkmessagebox

我有一个程序需要向用户显示图形错误消息。它是一个tkinter GUI,所以我使用的是tkinter.messagebox.showerror

当我调用showerror时,它会显示错误,但也会创建一个空白的“tk”窗口,这是在调用Tk类实例时创建的类型,如root = Tk()

from tkinter.messagebox import showerror
showerror(title = "Error", message = "Something bad happened")

可生产

Results Of Above Code

如何才能显示此空白窗口?

2 个答案:

答案 0 :(得分:7)

<div>

    <li>Top Level 1
        <ul>
            <li>sub 1a</li>
            <li>sub 1b</li>
            <li>sub 1c</li>
            <li>sub 1d</li>
        </ul>
    </li>
    <li>Top Level 2
        <ul>
            <li>sub 2a</li>
            <li>sub 2b</li>
            <li>sub 2c</li>
            <li>sub 2d</li>
        </ul>
    </li>

   
</div>

在显示错误消息之前调用from Tkinter import * from tkMessageBox import showerror Tk().withdraw() showerror(title = "Error", message = "Something bad happened") 将隐藏根窗口。

注意:Python 3.x的Tk().withdraw()

答案 1 :(得分:2)

正如this答案中所述,Tkinter需要一个根窗口,然后我们才能创建更多小部件/对话框。如果没有根窗口,则tkinter将创建一个。因此,要使空白窗口消失,首先,我们需要自己创建一个根窗口,将其隐藏起来,并在完成对话框操作后销毁它。下面的示例代码

from tkinter import Tk
from tkinter.messagebox import showerror

root = Tk()
root.withdraw()
showerror(title = "Error", message = "Something bad happened")
root.destroy()

注意:仅在需要显示对话框且不存在其他窗口时适用。