Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第6回】Tkinterを用いたGUI作成:メッセージボックスの表示

はじめに

 アプリを作成する際にグラフィカルユーザーインターフェースGUI)として、ウィンドウを表示させて、そこでボタン操作などを行って機能を活用できるようにするのが一般的です。Pythonには、GUIを作成するためのツールキットのtkinterがあります。tkinterは標準のライブラリとなっており、インストールは不要になっています。tkinterでウィンドウ表示できる項目にラベル、テキストボックス、ボタンなどがあります。さらに、ウィンドウ操作をしていると操作の確認の上でメッセージボックスを使用するシーンが多くなります。

 本記事ではtkinterを用いたGUI製作として、tkinter.massageboxによるメッセージボックスの表示方法について紹介します。

SAMURAI TERAKOYA

 

1. 情報、警告、エラーの表示

1.1 情報:messagebox.showinfo()

情報を表示するメッセージボックスにはtkinter.messagebox.showinfo()を以下の様に用います。

messagebox.showinfo(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
OK ok
× ok

 

1.2 警告:messagebox.showwarning()

警告を表示するメッセージボックスにはtkinter.messagebox.showwarning()を以下の様に用います。

messagebox.showwarning(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
OK ok
× ok

 

1.3 エラー:messagebox.showerror()

エラーを表示するメッセージボックスにはtkinter.messagebox.showerror()を以下の様に用います。

messagebox.showerror(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
OK ok
× ok

 

2. 質問の表示

2.1 はい or いいえ回答:messagebox.askquestion()

messagebox.askquestion()を用いると、メッセージボックスで選択ができます。これは選択項目が「はい」か「いいえ」の二択になります。用いる際には以下の様に用います。

messagebox.askquestion(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
はい ok
いいえ no

 

2.2 OK or キャンセル回答:messagebox.askokcancel()

messagebox.askokcancel()を用いると、メッセージボックスで選択ができます。これは選択項目が「OK」か「キャンセル」の二択になります。用いる際には以下の様に用います。

messagebox.askokcancel(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
はい True
キャンセル False
× False

 

2.3 再試行 or キャンセル回答:messagebox.askretrycancel()

messagebox.askretrycancel()を用いると、メッセージボックスで選択ができます。これは選択項目が「再試行」か「キャンセル」の二択になります。用いる際には以下の様に用います。

messagebox.askretrycancel(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
再試行 True
キャンセル False
× False

 

2.4 はい or いいえ回答:messagebox.askyesno()

messagebox.askyesno()を用いると、メッセージボックスで選択ができます。これは選択項目が「はい」か「いいえ」の二択になります。用いる際には以下の様に用います。

messagebox.askyesno(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
はい True
いいえ False

 

2.5 はい or いいえ or キャンセル回答:messagebox.askyesnocancel()

messagebox.askyesnocancel()を用いると、メッセージボックスで選択ができます。これは選択項目が「はい」か「いいえ」か「キャンセル」の三択になります。用いる際には以下の様に用います。

messagebox.askyesnocancel(title=***, message=***)

titleはメッセージボックスの上部に表示されるタイトル、messageはメッセージボックスに表示するコメントです。表示すると以下の様に表示されます。

戻り値は以下の表のようになります。

ボタン 戻り値
はい True
いいえ False
キャンセル None
× None

 

3. メッセージボックスの表示内容の確認

以下のコードを実行して、各ボタンを押すとそれに応じた上記で示したメッセージボックスが表示されます。それぞれ戻り値をresとして取得していますので、そちらで戻り値の内容も確認してみてください。ボタン操作による関数実行はこちらの記事をご覧ください。

 

オススメ書籍

Pythonによるあたらしいデータ分析の教科書

Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。

データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析

こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。

東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~

こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。

 

スキル修得&転職

 近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。

以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

 

おわりに

 本記事ではtkinterを用いたGUI製作として、tkinter.massageboxによるメッセージボックスの表示方法について紹介しました。ウィンドウ操作をしていると操作の確認の上でメッセージボックスを使用するシーンが多くなります。ポイントポイントでメッセージボックスを使って使用性を向上させてみてください。