6

ユーザーにグラフィカルなエラー メッセージを表示する必要があるプログラムがあります。tkinter GUIなので、使っていますtkinter.messagebox.showerror

showerror を呼び出すと、エラーが表示されますが、空の「tk」ウィンドウも作成されます。これは、Tk クラスのインスタンスが呼び出されたときに作成されるようなものroot = Tk()です。

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

プロデュース

上記のコードの結果

この空白のウィンドウが表示されないようにするにはどうすればよいですか?

4

2 に答える 2

6

この回答で説明されているように、Tkinter は、ウィジェット/ダイアログを作成する前にルート ウィンドウを必要とします。ルート ウィンドウがない場合は、tkinter が作成します。したがって、空白のウィンドウを非表示にするには、最初に自分でルート ウィンドウを作成し、非表示にして、ダイアログ アクションが完了したら破棄する必要があります。以下のサンプルコード

from tkinter import Tk
from tkinter.messagebox import showerror

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

: これは、ダイアログを表示する必要があり、他のウィンドウが存在しない場合に適用されます。

于 2018-12-15T07:11:54.507 に答える