Pythonでメッセージボックスを表示する(tkinter.messagebox)

スポンサーリンク

Pythonではメッセージボックスを表示することができます。

今回は「tkinter」の「messagebox」を使ってメッセージボックスを表示する方法を解説します。

Pythonでメッセージボックスを表示する

tkinter.messagebox

PythonでGUIを操作するには、「tkinter」モジュールを使います。

「tkinter」は「Tool Kit Interface」のことで、Python標準のGUIアプリケーションを作成するモジュールです。

メッセージボックスは「tkinter.messagebox」を使います。

メッセージボックス構文

from tkinter import messagebox

# メッセージボックス(情報) 
messagebox.showinfo(タイトル, メッセージ内容)

# メッセージボックス(警告) 
messagebox.showwarning(タイトル, メッセージ内容)

# メッセージボックス(エラー) 
messagebox.showerror(タイトル, メッセージ内容)

# メッセージボックス(はい・いいえ) 
messagebox.askyesno(タイトル, メッセージ内容)

# メッセージボックス(はい・いいえ) 
messagebox.askquestion(タイトル, メッセージ内容)

# メッセージボックス(OK・キャンセル) 
messagebox.askokcancel(タイトル, メッセージ内容)

# メッセージボックス(再試行・キャンセル) 
messagebox.askretrycancel(タイトル, メッセージ内容)

Pythonでメッセージボックスを使うには「tkinter.messagebox」を使います。

「tkinter」をインポートして使います。メッセージボックスにもいくつか種類があります。「はい・いいえ」をおすメッセージボックスだったり、単純に警告をだすメッセージボックスだったり。

情報・警告・エラーの違いは表示されるアイコンの違いです。

  • 情報・・・青色のiマーク
  • 警告・・・黄色の!マーク
  • エラー・・・赤の×マーク

 

メッセージボックスを使う

例1. メッセージボックスでお知らせ

from tkinter import messagebox

# メッセージボックス(情報) 
messagebox.showinfo('確認', 'もうすぐ誕生日です')

ここでは「messagebox.showinfo」でお知らせを表示しました。

例2. メッセージボックスでエラー表示

from tkinter import messagebox

# メッセージボックス(エラー) 
messagebox.showerror('エラー', 'メールアドレスが入力されていません')

ここでは「messagebox.showerror」でエラーを表示しました。

例3. メッセージボックスで選択させる

import sys
from tkinter import messagebox

# メッセージボックス(はい・いいえ) 
ret = messagebox.askyesno('確認', 'ウィンドウを閉じますか?')
if ret == True:
    sys.exit()

ここでは「messagebox.askyesno」で「はい・いいえ」を選択させ、それによって処理をわけました。「はい・いいえ」を表示し、「はい」がおされたらプログラムを終了しました。

messagebox の戻り値

「tkinter.messagebox」の戻り値は表示するメッセージボックスによって異なります。

showinfo、showwarning、showerrorの戻り値

  • OKボタン・・・ok

askyesno の戻り値

  • はいボタン・・・True
  • いいえボタン・・・False

askquestion の戻り値

  • はいボタン・・・yes
  • いいえボタン・・・no

askokcancel の戻り値

  • OKボタン・・・True
  • キャンセルボタン・・・False

askretrycancel の戻り値

  • 再試行ボタン・・・True
  • キャンセルボタン・・・False

 

Pythonのmessageboxの戻り値は、押されたボタンによって変わります。上の一覧で確認してください。

参考ページhttps://docs.python.jp/3/library/tk.html

以上、「tkinter」の「messagebox」を使ってPythonでメッセージボックスを表示する方法でした。

コメント

  1. だい より:

    ご多忙のところ恐縮です。
    Python勉強中で、メッセージボックスを表示と思い本ページを参考にさせて頂いているのですが、wxpythonを使用でメッセージボックスを表示させると、問い合わせ時の疑問符アイコンが表示されません。wx.ICON_QUESTION を記述してもダメです。ダイアログ側も同様です。何かご存じでしたらご教示ください。環境は、下記です。
    python 3.6.6
    wxpython 4.0.3
    windows 10
    【補足】
     tkinterでは問題なくできたのですが、問い合わせメッセージの複数ボタンのデフォルトボタンの変ができない(例:「はい」、「いいえ」があり、「いいえ」にフォーカスがある状態で表示させたい)ので、wxpythonではできるのでこちらでと思っております。

    以上、よろしくお願い致します。

    • 鎖プロ より:

      wxpythonは以前使っていましたが今は・・
      お役に立てず申し訳ございません・・m(__)m