tkinter.messagebox --- Tkinter メッセージプロンプト

ソースコード: Lib/tkinter/messagebox.py


tkinter.messagebox モジュールは、テンプレートとなる基底クラスと、よく使う設定向けのさまざまな簡便なメソッドを提供します。 メッセージボックスはモーダルであり、利用者が応答するまで処理をブロックし、その後、関数に応じた値を返します。 show* 関数と Message.show() は、利用者が押したボタンのシンボル名 (OK や YES など) を文字列で返します。 よく使われるメッセージボックスのスタイルや配置には、次のようなものがあります:

../_images/tk_msg.png
class tkinter.messagebox.Message(master=None, **options)

アプリケーションが指定するメッセージ、アイコン、一組のボタンを持つメッセージウィンドウを作成します。 ウィンドウ内の各ボタンは、一意のシンボル名で識別します (type オプションを参照)。

次のオプションをサポートします:

command

利用者がダイアログを閉じたときに呼び出す関数を指定します。 閉じるためにクリックしたボタンの名前を引数として渡します。 macOS でのみ利用できます。

default

このメッセージウィンドウのデフォルトのボタンの シンボル名 (OK、CANCEL など) を指定します。 このオプションを指定しなければ、ダイアログの最初のボタンがデフォルトになります。

detail

message オプションで指定した主メッセージを補足するメッセージを指定します。 この詳細メッセージは主メッセージの下に表示し、OS が対応している場合は主メッセージより控えめなフォントを使います。

icon

表示する アイコン を指定します。 指定しなければ INFO アイコンを表示します。

message

このメッセージボックスに表示するメッセージを指定します。 デフォルト値は空文字列です。

parent

指定したウィンドウを、メッセージボックスの論理的な親にします。 メッセージボックスは親ウィンドウの手前に表示されます。

title

メッセージボックスのタイトルとして表示する文字列を指定します。 macOS では、この種類のダイアログにタイトルを使うことをプラットフォームのガイドラインが禁止しているため、このオプションは無視されます。

type

定義済みのボタンの組 を表示するように指定します。

注釈

Tk 8.6 で command オプションが追加されました。

show(**options)

メッセージウィンドウを表示し、利用者がボタンを選ぶまで待ちます。 その後、選んだボタンのシンボル名を返します。 キーワード引数で、コンストラクタに指定したオプションを上書きできます。

情報メッセージボックス

tkinter.messagebox.showinfo(title=None, message=None, **options)

指定したタイトルとメッセージを持つ情報メッセージボックスを作成して表示します。

警告メッセージボックス

tkinter.messagebox.showwarning(title=None, message=None, **options)

指定したタイトルとメッセージを持つ警告メッセージボックスを作成して表示します。

tkinter.messagebox.showerror(title=None, message=None, **options)

指定したタイトルとメッセージを持つエラーメッセージボックスを作成して表示します。

質問メッセージボックス

tkinter.messagebox.askquestion(title=None, message=None, *, type=YESNO, **options)

質問します。 デフォルトでは YES と NO のボタンを表示します。 選んだボタンのシンボル名を返します。

tkinter.messagebox.askokcancel(title=None, message=None, **options)

操作を続けるか質問します。 OK と CANCEL のボタンを表示します。 OK を選ぶと True、それ以外は False を返します。

tkinter.messagebox.askretrycancel(title=None, message=None, **options)

操作を再試行するか質問します。 RETRY と CANCEL のボタンを表示します。 再試行を選ぶと True、それ以外は False を返します。

tkinter.messagebox.askyesno(title=None, message=None, **options)

質問します。 YES と NO のボタンを表示します。 「はい」を選ぶと True、それ以外は False を返します。

tkinter.messagebox.askyesnocancel(title=None, message=None, **options)

質問します。 YES、NO、CANCEL のボタンを表示します。 「はい」を選ぶと True、キャンセルすると None、それ以外は False を返します。

ボタンのシンボル名:

tkinter.messagebox.ABORT = 'abort'
tkinter.messagebox.RETRY = 'retry'
tkinter.messagebox.IGNORE = 'ignore'
tkinter.messagebox.OK = 'ok'
tkinter.messagebox.CANCEL = 'cancel'
tkinter.messagebox.YES = 'yes'
tkinter.messagebox.NO = 'no'

定義済みのボタンの組:

tkinter.messagebox.ABORTRETRYIGNORE = 'abortretryignore'

シンボル名が ABORT、RETRY、IGNORE の 3 つのボタンを表示します。

tkinter.messagebox.OK = 'ok'

シンボル名が OK のボタンを 1 つ表示します。

tkinter.messagebox.OKCANCEL = 'okcancel'

シンボル名が OK と CANCEL の 2 つのボタンを表示します。

tkinter.messagebox.RETRYCANCEL = 'retrycancel'

シンボル名が RETRY と CANCEL の 2 つのボタンを表示します。

tkinter.messagebox.YESNO = 'yesno'

シンボル名が YES と NO の 2 つのボタンを表示します。

tkinter.messagebox.YESNOCANCEL = 'yesnocancel'

シンボル名が YES、NO、CANCEL の 3 つのボタンを表示します。

アイコン画像:

tkinter.messagebox.ERROR = 'error'
tkinter.messagebox.INFO = 'info'
tkinter.messagebox.QUESTION = 'question'
tkinter.messagebox.WARNING = 'warning'