Pythonでの処理が終了したことをわかりやすくするために
ダイアログでメッセージを表示したい!
なるほど…。では今回は、
「ダイアログメッセージを表示させる方法」
をできるだけわかりやすく解説いたします!
また、
「ダイアログの選択で分岐させる方法」
「ダイアログからキーボード入力を受け取る方法」
も紹介いたしますので、最後までご覧ください。
【著者情報】
Python歴3年。
入社2年目の春に先輩が突然トンズラし、業務を半分肩代わりするハメに…。
今までの1.5倍の仕事をこなせるはずもなく、苦しむ毎日。
業務効率化を模索中にPythonと出合う。
業務とPythonの相性が良く、2倍以上の効率化を実現。現在も効率化を進行中。
Pythonでダイアログを表示させるには
「pyautogui」の「alert」を使います。まずは実行見本をどうぞ。
実行見本
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import pyautogui
pyautogui.alert('処理が終了しました')
事前準備
- pyautoguiのインストール
ダイアログを表示するには「pyautogui」のインストールが必要です。
pyautoguiのインストール方法
pyautoguiを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install pyautogui
※pyautoguiを使用したことがある場合は、このインストール作業は不要です。
解説:ダイアログメッセージを表示する
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
インポート
ダイアログを表示させるには、「pyautogui」のインポートが必要です。
import pyautogui
まずは上記一文を記述して、「pyautogui」をインポートしましょう。
メッセージをダイアログで表示
pyautogui.alert('処理が終了しました')
上記一文にて、メッセージをダイアログで表示させることができます。
()内に表示させたいメッセージを記述してください。
【 pyautogui.alert(‘表示させたいメッセージ’) 】
変数をメッセージとして表示させることもできます。
message = 12345
pyautogui.alert(message)
ダイアログの選択で分岐させる
前項のダイアログは「OK」ボタンのみでした。
今回は「OK」と「キャンセル」、2つのボタン付きのダイアログを表示してみましょう。
import pyautogui
result = pyautogui.confirm('本日の日付で処理しますか?')
【 変数 = pyautogui.confirm(‘表示させたいメッセージ’) 】
実行してみます。
「OK」と「キャンセル」ボタン付きのダイアログを表示することができました。
【「OK」を押した場合】
変数「result」に「OK」という文字列が入る
【「キャンセル」を押した場合】
変数「result」に「Cancel」という文字列が入る
今回はダイアログを表示させただけでしたが、
「OK」ボタンを押した時の処理と「キャンセル」ボタンを押した時とで
処理を分岐させることができます(後ほど解説いたします)
ダイアログからキーボード入力を受け取る
入力欄付きのダイアログを表示し、キーボード入力した値を受け取ることもできます。
import pyautogui
result = pyautogui.prompt('日付を入力してください。')
【 変数 = pyautogui.prompt(‘表示させたいメッセージ’) 】
実行してみます。
入力欄付きのダイアログを表示できました。
【何かを入力して「OK」を押した場合】
入力した文字列が変数「result」に入る
【「キャンセル」を押した場合】
「None」が変数「result」に入る
※「None」は文字列ではないので注意
【何も入力せず「OK」を押した場合】
「空欄」が「result」に入る
簡単な実践例
今回の集大成といえる実践例を紹介いたします。
少し長いですが、ほぼ解説済の内容ですので、ゆっくり見ていってください。
import pyautogui
import datetime
today = datetime.datetime.now().strftime('%m%d')
result = pyautogui.confirm('本日の日付で処理しますか?')
if result == 'OK' :
date = today
pyautogui.alert(date+'付けで処理しました')
else :
date = pyautogui.prompt('日付を入力してください。例:0417')
if date == None or date == '' :
pyautogui.alert('日付が入力されていません。')
else :
pyautogui.alert(date+'付けで処理しました')
実行見本が下図です。
【解説】
1つ目のダイアログで「キャンセル」が押された場合、入力欄付きダイアログを表示させます。
2つ目のダイアログで「入力欄が空欄」もしくは「キャンセル」が押された場合、「日付が入力されていません」を表示させています。
全てダイアログを表示させるだけでしたが、それぞれに処理を追加することで、別々の日付で処理をさせることができます。
日付を取得する方法は下記記事で解説しております。
ifについては下記記事をご参考ください。
最後に
Pythonでダイアログメッセージを表示させる方法を解説いたしました。
処理終了がわかりやすくなる他、分岐させたりすることもできますので、ぜひご活用ください。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!