SizerとはwxPythonにて利用出来るレイアウトアルゴリズムで、Sizerクラスは様々なSizerの親クラスとして定義されています。
Sizerの利点
今までのサンプルコードでは、パネルなどを絶対座標で配置していました。 もちろん絶対座標で配置した方が良い場合もありますが、Sizerを利用すると下記のような利点があります。
- ボタンやテキストなどの大きさ・位置がルールに沿って配置される
- Frameのサイズ変更時にボタンやテキストなどが適切な大きさ・位置に再設定される
代表的なSizer
Sizerを利用する際にはSizerクラスを継承したサブクラスを使用する形になります。代表的なものは下記4つです。それぞれの特徴を簡単に記載しておきます。
- BoxSizer
- 縦もしくは横に連続して配置する
- StaticBoxSizer
- 縦もしくは横に連続して配置し、ラベル付きボーダーで囲む
- GridSizer
- マス目状に配置する(全てのマスは同じ大きさ)
- FlexGridSizer
- マス目状に配置する(それぞれのマスの大きさを変更可能)