Working with Windows
Adding a few more controls
多数のコントロールの完全なリストは(スタートメニューの) demo and help の中の wxPython にありますが、
ここでは良く使われるものを紹介します。
- wxButton
最も基本的なコントロールでクリック可能な文字列を表示します。
ボタンのクリックを取り扱うためにコネクタ関数を使います。
EVT_BUTTON(Control, Id, callback function)
- wxTextCtrl
このコントロールは数行のテキスト入力をさせます(最小で1行です)。
wxTextCtrl は二つの主なイベントを生成します。
# テキストが変更されたときに呼び出されます。 EVT_TEXT(control, Id, callback function) # キーが押されたときに呼び出されます。 EVT_CHAR(control, callback function)
- wxComboBox
コンボボックスは wxTextCtrl にとてもよく似ていますが、
wxTextCtrl が生成するイベントに加えて次のようなハンドラがあります
EVT_COMBOBOX(control, id, callback function)
- wxCheckBox
チェックボックスは真/偽の選択肢を提供します。
- wxRadioBox
ラジオボタンはユーザにオプションのリストから選択させます
我々のクラスは巨大に成長し、今では多数のコントロールとその反応を持ちます。
コントロールから送られるさまざまなイベントを表示するための特別な wxTextCtrl を追加しました。
The notebook
フォームが、1ページに収めるには大きすぎることがあります。
wxNoteBook はそのような場合に使用されます。
wxNoteBook はタブをクリックすることで小分けされたページの間をすばやく切り替えることを可能にします。
自作の Form1 の代わりに wxNoteboolk をメインフレームに配置し Form1 を AddPage で wxNotebook に追加することでこれを実装します。
Improving the layout - Using Sizers
絶対座標指定の配置は大抵満足のいくものではありません。
ウィンドウが正しいサイズでなければ結果はひどいものです。
WxPython はコントロールを配置するためにとてもリッチなオブジェクトを備えています。
- wxBoxSizer はもっとも一般的でシンプルなレイアウトオブジェクトですが、可能な限り大きな範囲を許可します。
その役割は直線または行でコントロールのセットを大まかに配置し、大枠がリサイズされた場合に再配置することです。
- wxGridSizer と wxFlexGridSizer は重要なレイアウトツールです。これらはコントロールを表のように配置します。