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)

表示はカスタマイズ参照