今回の内容
今回はwxPythonでメッセージボックスを表示させる方法を紹介します。一行で表示させることもできますし、MessageDialogを使うこともできます。
ではさっそく紹介していきましょう!
一行で表示させる
正確に言えばwx.Appやimport wxをしなきゃいけないので一行ではありませんが、一行を追加するだけで表示させるという方法を紹介します。以下のコードを追加するだけです。
注意:import wx
app = wx.App(0)
を省略しています。
wx.MessageBox("メッセージボックス","タイトル",wx.ICON_INFORMATION)
↑成功例
アイコンを指定する
※質問アイコンはWindows Vista以降、表示されなくなりました。
これを、MessageBox関数の第三引数に入れてあげます。例えば、警告アイコンの場合は以下のコードになります。
wx.MessageBox("警告メッセージで~す","たいとる",wx.ICON_WARNING)成功例:
ボタンを設定する
MessageBox関数でもボタンを指定することができます。
これを第三引数に追加してあげます。
例をコードにあげます。
wx.MessageBox("メッセージボックスです。","タイトルです",wx.ICON_ERROR | wx.YES_NO) #[はい][いいえ] wx.MessageBox("メッセージボックスです!","たいとるです",wx.ICON_WARNING | wx.CANCEL) #[OK][キャンセル] wx.MessageBox("メッセージボックスです?","タイトル!",wx.ICON_ERROR | wx.YES_NO | wx.CANCEL) #[はい][いいえ][キャンセル] wx.MessageBox("ヘルプボタンありますがクリックすると閉じちゃいます。","た",wx.YES_NO | wx.HELP) #[はい][いいえ][ヘルプ]こんな感じになります。
ヘルプボタンをつけるとこんな感じになります。
ヘルプボタンをおすとそのまま閉じてしまいますので、本当のヘルプボタンとしての機能はしていません。
戻り値について
表にするとこんな感じ
こんな感じになります。サンプルコード↓
user = wx.MessageBox("1+1=2?","質問です",wx.ICON_INFORMATION | wx.YES_NO) if user == wx.YES: wx.MessageBox("正解です!","情報",wx.ICON_INFORMATION) elif user == wx.NO: wx.MessageBox("違います!","情報",wx.ICON_ERROR)
wx.MessageDialogを使う
MessageBox関数のように一行だけ とはいきませんが、これはMessageBox関数より高機能でカスタマイズ性の高いものです。たとえば、[はい][いいえ]とかって物足りないですよね?
そんなときに使えるのがMessageDialogです。自由にMessageDialogのボタンのテキストを変更することができます。
既にその記事を投稿しておりますので、みてください。↓
wxPython の MessageDialog でボタンのテキストを変更する方法
さて、まずMessageDialogの基本的な関数はこんな感じになります。
※もう一度いいますが、import wxとapp = wx.App(0)は省略いております。
()これからのサンプルコードでも同様
msgdlg = wx.MessageDialog(None,"メッセージ","タイトル",wx.ICON_INFORMATION) msgdlg.ShowModal()表示にはShowModalを使います。
MessageDialogの引数については第一引数は親のフレームを指定しますが、それ以降はMessageBox関数の引数と同じです。
さらに、戻り値については、ShowModal()のところで返ってきます。戻り値についてはMessageBox関数と微妙に違いますので確認してください。
msgdlg = wx.MessageDialog(None,"20歳以上ですか?","確認",wx.ICON_WARNING | wx.YES_NO) user = msgdlg.ShowModal() if user == wx.ID_YES: wx.MessageBox("OKです。","情報",wx.ICON_INFORMATION) #一行でできるようにMessageBox関数を使用 else: wx.MessageBox("だめです。","情報",wx.ICON_ERROR) #これも
以上。終了。
わからないことがあればコメントで
人気記事を見逃すな!
人気No.1‼
wxPythonでシンプルなメモ帳を作成する
wxPythonでシンプルなメモ帳を作成する
動作環境:
Windows 10
64bit
Python3.9.1
wxPython4.1.1a1
0 件のコメント:
コメントを投稿