tkinter.messagebox【メッセージボックス】
showinfo()【情報】
showwarning()【警告】
showerror()【エラー】
askquestion()【一般質問】
askokcancel()【OK / キャンセル】
askyesno()【はい / いいえ】
askyesnocancel()【はい / いいえ / キャンセル】
askretrycancel()【再試行 / キャンセル】

メモ メッセージボックス一覧 表示例 カスタマイズメッセージボックス (中止 / 再試行 / 無視) 構文 関連 外部リンク

メモ

  • モーダルのメッセージボックスを表示
    • 形状は OS に依存
    • タイトルメッセージを指定
    • オプションデフォルトボタン詳細メッセージアイコン親ウィンドウボタンタイプの指定可
    • 各種大文字英字は定数として定義 〔オプション詳細
  • メッセージボックス一覧
    各種情報メッセージボックス
    関数戻り値アイコン
    (icon)
    showinfo()
    情報
    OKINFO
    showwarning()
    警告
    WARNING
    showerror()
    エラー
    ERROR
    質問メッセージボックス
    関数 デフォルト値
    表示ボタン 戻り値 ボタンタイプ
    (type)
    デフォルトボタン
    (default)
    アイコン
    (icon)
    askquestion()
    一般質問
    はい
    いいえ
    YES (はい)
    NO (いいえ)
    YESNO YES
    NO
    QUESTION
    askokcancel()
    OK / キャンセル
    OK
    キャンセル
    True (OK)
    False (その他)
    OKCANCEL OK
    CANCEL
    askyesno()
    はい / いいえ
    はい
    いいえ
    True (はい)
    False (その他)
    YESNO YES
    NO
    askyesnocancel()
    はい / いいえ / キャンセル
    はい
    いいえ
    キャンセル
    True (はい)
    False (その他)
    None (キャンセル)
    YESNOCANCEL YES
    NO
    CANCEL
    askretrycancel()
    再試行 / キャンセル
    再試行
    キャンセル
    True (再試行)
    False (その他)
    RETRYCANCEL RETRY
    CANCEL
    WARNING
  • 表示例 (オプションで詳細メッセージを追加)
    関数表示例
    showinfo()

    情報
    メッセージボックス (情報)
    showwarning()

    警告
    メッセージボックス (警告)
    showerror()

    エラー
    メッセージボックス (エラー)
    askquestion()

    一般質問
    メッセージボックス (一般質問)
    askokcancel()

    OK / キャンセル
    メッセージボックス (OK / キャンセル)
    askyesno()

    はい / いいえ
    メッセージボックス (はい / いいえ)
    askyesnocancel()

    はい / いいえ / キャンセル
    メッセージボックス (はい / いいえ / キャンセル)
    askretrycancel()

    再試行 / キャンセル
    メッセージボックス (再試行 / キャンセル)
  • カスタマイズ【メッセージボックス (中止 / 再試行 / 無視)】
    関数 表示ボタン 戻り値 ボタンタイプ
    (type)
    デフォルトボタン
    (default)
    指定可能値
    アイコン
    (icon)
    指定可能値
    askquestion()
    一般質問
    中止
    再試行
    無視
    ABORT (中止)
    RETRY (再試行)
    IGNORE (無視)
    ABORTRETRYIGNORE ABORT
    RETRY
    IGNORE
    ERROR
    INFO
    QUESTION (未指定)
    WARNING
    表示例
    メッセージボックス (中止 / 再試行 / 無視)

構文

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, **options)
tkinter.messagebox.askokcancel(title=None, message=None, **options)
tkinter.messagebox.askyesno(title=None, message=None, **options)
tkinter.messagebox.askyesnocancel(title=None, message=None, **options)
tkinter.messagebox.askretrycancel(title=None, message=None, **options)

※:引数は共通
戻り値押下ボタン 〔メッセージボックス一覧titleタイトル
messageメッセージ
options (可変長キーワード引数)オプション (下記の指定可)
defaultデフォルトボタン (下記参照)
detail詳細メッセージ
iconアイコン (デフォルトのアイコンを変更:下記参照)
parent親ウィンドウ
typeボタンタイプ (戻り値との整合が必要:下記参照)

例外_tkinter.TclError (各種エラー:無効な値・不正なオプション名 等)

オプション詳細

default=【デフォルトボタン】
定数定義値備考
ABORT"abort"中止
CANCEL"cancel"キャンセル
IGNORE"ignore"無視
NO"no"いいえ
OK"ok"OK
RETRY"retry"再試行
YES"yes"はい
icon=【アイコン】
定数定義値備考
ERROR"error"エラー
INFO"info"情報
QUESTION"question"クエスチョンマーク
WARNING"warning"警告
type=【ボタンタイプ】
定数定義値備考
ABORTRETRYIGNORE"abortretryignore"中止 / 再試行 / 無視
OK"ok"OK
OKCANCEL"okcancel"OK / キャンセル
RETRYCANCEL"retrycancel"再試行 / キャンセル
YESNO"yesno"はい / いいえ
YESNOCANCEL"yesnocancel"はい / いいえ / キャンセル

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.withdraw()

# メッセージボックス (情報)
messagebox.showinfo("TITLE", "MESSAGE", detail="DETAIL")
# メッセージボックス (警告)
messagebox.showwarning("TITLE", "MESSAGE", detail="DETAIL")
# メッセージボックス (エラー)
messagebox.showerror("TITLE", "MESSAGE", detail="DETAIL")

# メッセージボックス (はい /いいえ) 
rsp = messagebox.askquestion("TITLE", "MESSAGE", detail="DETAIL")
print(rsp)
# メッセージボックス (OK / キャンセル) 
rsp = messagebox.askokcancel("TITLE", "MESSAGE", detail="DETAIL")
print(rsp)
# メッセージボックス (はい / いいえ) 
rsp = messagebox.askyesno("TITLE", "MESSAGE", detail="DETAIL")
print(rsp)
# メッセージボックス (はい / いいえ / キャンセル)
rsp = messagebox.askyesnocancel("TITLE", "MESSAGE", detail="DETAIL")
print(rsp)
# メッセージボックス (再試行 / キャンセル) 
rsp = messagebox.askretrycancel("TITLE", "MESSAGE", detail="DETAIL")
print(rsp)

表示は表示例参照

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.withdraw()

# メッセージボックス (中止 / 再試行 / 無視) 
rsp = messagebox.askquestion(
    "TITLE",
    "MESSAGE",
    detail="DETAIL",
    type=messagebox.ABORTRETRYIGNORE,
    icon=messagebox.ERROR,
    default=messagebox.RETRY
    )
print(rsp)

表示はカスタマイズ参照