Wxpython-wx-dialog-class
wxPython-ダイアログクラス
wxPythonには、MessageDialog、FileDialog、FontDialogなど、多くの事前構成されたDialogウィジェットがあります。
wx.Dialogは、Sizerのwx.Frameオブジェクトとしての使用をサポートしています。 したがって、カスタムダイアログを設計できます。
Wx.Dialogクラスのコンストラクタは、次の通常のパラメータを取ります-
ダイアログウィジェットのデフォルトの外観では、タイトルバーに閉じるボックスのみが表示されます。 ただし、次のスタイルパラメータの組み合わせを使用してカスタマイズできます-
以下は、Dialogの最も一般的に使用されるパラメーターです。
S.N. | Parameters & Description |
---|---|
1 |
wx.CAPTION ダイアログボックスにキャプションを付けます |
2 |
wx.DEFAULT_DIALOG_STYLE wxCAPTION、wxCLOSE_BOXおよびwxSYSTEM_MENUの組み合わせに相当 |
3 |
wx.RESIZE_BORDER ウィンドウの周りにサイズ変更可能なフレームを表示します |
4 |
wxSYSTEM_MENU システムメニューを表示します |
5 |
wx.CLOSE_BOX フレームに閉じるボックスを表示します |
6 |
wx.MAXIMIZE_BOX ダイアログに最大化ボックスを表示します |
7 |
wx.MINIMIZE_BOX ダイアログに最小化ボックスを表示します |
8 |
wx.STAY_ON_TOP ダイアログが他のすべてのウィンドウの上にあるようにします |
9 |
wx.DIALOG_NO_PARENT 孤立ダイアログの作成を防ぎます。 モーダルダイアログには推奨されません |
このクラスには2つの偶数バインダーが定義されています-
以下に、最も一般的に使用されるダイアログのイベントを示します。
S.N. | Events & Description |
---|---|
1 |
EVT_CLOSE ユーザーによって、またはプログラムによってダイアログが閉じられているとき |
2 |
EVT_INIT_DIALOG ダイアログが初期化されているとき |
前述のように、Dialogの目的は、データを収集して親ウィンドウに戻ることです。 ただし、Dialogクラスではいくつかの便利なメソッドを使用できます。
以下に、Dialogの最も一般的に使用される方法を示します。
S.N. | Methods & Description |
---|---|
1 |
DoOK() ダイアログの[OK]ボタンが押されたときに呼び出されます |
2 |
ShowModal() アプリケーションモーダル方式でダイアログを表示します |
3 |
ShowWindowModal() ダイアログは最上位の親ウィンドウに対してのみモーダルです |
4 |
EndModal() ShowModal呼び出しから値を渡すモーダルダイアログを終了します |
事前構成されたダイアログの1つはMessageDialogです。 これは、標準IDを持つボタンで1行以上のメッセージを表示するために使用されます。 以下は、MessageDialogの標準ボタンの選択リストです。
以下に、最も一般的に使用されるダイアログのボタンを示します。
S.N. | Buttons & Description |
---|---|
1 |
wx.OK [OK]ボタンを表示します |
2 |
wx.CANCEL [キャンセル]ボタンを表示します |
3 |
wx.YES_NO はい、いいえボタンを表示します |
4 |
wx.YES_DEFAULT デフォルトとして「はい」ボタンを作成します |
5 |
wx.NO_DEFAULT デフォルトとしてボタンなし |
6 |
wx.ICON_EXCLAMATION 警告アイコンを表示します |
7 |
wx.ICON_ERROR エラーアイコンを表示します |
8 |
wx.ICON_HAND wx.ICON_ERRORと同じ |
9 |
wx.ICON_INFORMATION 情報アイコンを表示する |
10 |
wx.ICON_QUESTION 質問アイコンを表示します |
MessageDialog
これは、次のコンストラクタで宣言されています-
キャプションはタイトルバーに表示されますが、表示されるテキストの1行以上はメッセージパラメーターです。 デフォルトのスタイルパラメータはwx.OK | wx.ECNREです。 他のスタイルパラメータを使用すると、メッセージボックスをカスタマイズできます。
wx.MessageBoxは、MessageDialogを使用する代わりにメッセージボックスを作成するための便利な関数です。
例
以下に、Dialogのモーダルおよびモードレス動作の簡単なデモを示します。 親ウィンドウは、2つのボタンを持つwx.Frameオブジェクトです。 最初のボタンのクリックイベントは、モーダル形式でダイアログを表示します。 したがって、ダイアログが閉じられるまで、親ウィンドウでの操作はすべて防止されます。 2番目のボタンは、親ウィンドウへのアクセスを妨げないモードレスダイアログを表示します。 3番目のボタンは、MessageBoxを表示します。
コード全体は次のとおりです-
上記のコードは、次の出力を生成します-
wx.TextEntryDialog
このクラスのオブジェクトは、1つのテキストフィールド、ユーザーに入力を促すカスタマイズ可能なラベル、および事前定義されたスタイルの2つのボタンを持つダイアログを表示します。
このダイアログは1行の入力を要求しますが、パスワードや複数行などのTextCtrlスタイルを使用してテキストボックスをカスタマイズできます。
ユーザーが[OK]ボタンをクリックすると、テキストフィールドの内容が戻り値として収集されます。
TextEntryDialogコンストラクタは次のとおりです-
ダイアログウィンドウに表示されるテキストは、メッセージパラメータとして渡されます。 captionパラメーターは、タイトルバーに表示される文字列です。 テキストボックスのデフォルトの文字列は、vue alueパラメーターです。 ダイアログのTextCtrlは、パスワード文字(wx.TE_PASSWORD)および/または複数行(wx.TE_MULTILINE)を表示するように構成できます。
TextEntryクラスの他のメソッドは、次の表に記載されています-
以下に、TextEntryの最も一般的に使用されるメソッドを示します。
S.N. | Methods & Description |
---|---|
1 |
SetMaxLength() ユーザーがテキストボックスに入力できる最大文字数を設定します |
2 |
SetValue() テキストボックスの値をプログラムで設定します |
3 |
GetValue() テキストボックスの内容を返します |
4 |
ShowModal() ダイアログをモーダルで表示します。 ユーザーが入力を確認した場合はwx.ID_OKを返し、ダイアログが拒否された場合はwx.ID_CANCELを返します |
例
次の例の最上位フレームは、ボタンと読み取り専用のTextCtrlウィジェットを示しています。
ボタンはクリックに応答し、OnClick()関数を呼び出します。
OnClick()関数は、TextEntryDialogを表示します。
ダイアログの戻り値は、GetValue()関数によって取得され、トップレベルフレームのTextCtrlオブジェクトに表示されます。
完全なコードは次のとおりです-
上記のコードは、次の出力を生成します-
wx.FileDialogクラス
このクラスは、ファイルセレクターダイアログを表します。 これにより、ユーザーはファイルシステムをナビゲートし、開くまたは保存するファイルを選択できます。 ダイアログの外観はOS固有です。
ファイルフィルターを適用して、指定した拡張子のファイルのみを表示することもできます。 開始ディレクトリとデフォルトのファイル名も設定できます。
FileDialogコンストラクタのプロトタイプは次のようになります-
メッセージは表示されるテキストを表します。 DefaultDirは初期ディレクトリです。 ワイルドカードパラメーターで表されるファイルフィルターとして、1種類以上のファイルを設定できます。
FileDialogに定義されているスタイルパラメータは-
FileDialogの最も一般的に使用されるパラメーターを以下に示します。
S.N. | Parameters & Description |
---|---|
1 |
wx.FD_DEFAULT_STYLE wxFD_OPENと同等 |
2 |
wx.FD_OPEN これは開いているダイアログです。ダイアログのデフォルトボタンのラベルは「開く」です |
3 |
wx.FD_SAVE これは保存ダイアログです。ダイアログのデフォルトボタンのラベルは「保存」です |
4 |
wx.FD_OVERWRITE_PROMPT 保存ダイアログのみ:ファイルが上書きされるかどうかの確認を求めます |
5 |
wx.FD_MULTIPLE ダイアログを開く場合のみ:複数のファイルを選択できます |
6 |
wx.FD_CHANGE_DIR 現在の作業ディレクトリを、ユーザーが選択したファイルがあるディレクトリに変更します |
wx.FileDialogクラスのメンバー関数-
以下は、wx.FileDialogの最も一般的に使用される関数です。
S.N. | Functions & Description |
---|---|
1 |
GetDirectory() デフォルトのディレクトリを返します |
2 |
GetFileName() デフォルトのファイル名を返します |
3 |
GetPath() 選択したファイルのフルパスを返します |
4 |
SetDirectory() デフォルトのディレクトリを設定します |
5 |
SetFilename() デフォルトのファイルを設定します |
6 |
SetPath() フルパスを設定します |
7 |
ShowModal() ダイアログを表示し、ユーザーが[OK]ボタンをクリックするとwx.ID_OKを返し、それ以外の場合はwx.ID_CANCELを返します |
例
次の例では、最上位のフレームにボタンと複数行のTextCtrlが表示されています。
EVT_BUTTONイベントバインダーは、ボタンにOnClick()関数を登録します。
OnClick()関数は、オープンモードでFileDialogを表示します。 その選択はdlgとして返されます。 選択したファイルはGetPath()関数によって取得され、その内容は親ウィンドウのTextCtrlボックスに表示されます。
完全なコードは次のとおりです-
上記のコードは、次の出力を生成します-
File Dialog Demo Choose a File File Dialog Demo Output
wx.FontDialogクラス
このクラスのオブジェクトは、フォント選択ダイアログです。 このダイアログの表示もOS固有です。 名前、サイズ、重量などの属性 選択したフォントのが、このダイアログの戻り値として返されます。
このクラスコンストラクターに必要なFontdataパラメーターは、これらの属性を初期化するために使用されます。
このクラスのGetFontData()メソッドには、選択したフォントのパラメーターが含まれています。
FontDialogの使用方法を示す次のコードには、ボタンとラベル(StaticTextオブジェクト)があります。
ボタンをクリックすると、OnClick()イベントハンドラー関数がトリガーされます。
次に、選択したフォントがラベルのテキストに適用されます。
完全なコードは次のとおりです-
上記のコードは、次の出力を生成します-