【Python】ダイアログで文字を表示・入力・分岐[簡単1行]

スポンサードリンク
アイキャッチ Python
過去の自分
過去の自分

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つ目のダイアログで「入力欄が空欄」もしくは「キャンセル」が押された場合、「日付が入力されていません」を表示させています。

全てダイアログを表示させるだけでしたが、それぞれに処理を追加することで、別々の日付で処理をさせることができます。

スポンサードリンク

最後に

Pythonでダイアログメッセージを表示させる方法を解説いたしました。

処理終了がわかりやすくなる他、分岐させたりすることもできますので、ぜひご活用ください。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました