Pythonのメッセージボックスについて。
この記事の内容はコチラです
- Pythonでメッセージボックスを表示する
- エラーメッセージ、警告、はい・いいえを表示する
- tkinterの使い方を知る
今回は「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でメッセージボックスを表示する方法でした。
コメント
ご多忙のところ恐縮です。
Python勉強中で、メッセージボックスを表示と思い本ページを参考にさせて頂いているのですが、wxpythonを使用でメッセージボックスを表示させると、問い合わせ時の疑問符アイコンが表示されません。wx.ICON_QUESTION を記述してもダメです。ダイアログ側も同様です。何かご存じでしたらご教示ください。環境は、下記です。
python 3.6.6
wxpython 4.0.3
windows 10
【補足】
tkinterでは問題なくできたのですが、問い合わせメッセージの複数ボタンのデフォルトボタンの変ができない(例:「はい」、「いいえ」があり、「いいえ」にフォーカスがある状態で表示させたい)ので、wxpythonではできるのでこちらでと思っております。
以上、よろしくお願い致します。
wxpythonは以前使っていましたが今は・・
お役に立てず申し訳ございません・・m(__)m
わかりやすいとおもいました。
ありがとうございます!