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 は重要なレイアウトツールです。これらはコントロールを表のように配置します。