グリッドバッジを使用してフレーム内に2つのパネルを配置しています。wx.GridBagSizer内に要素(パネル)を配置する
control_panel = wx.Panel(self, id=ID_CONTROL_PANEL)
main_panel = wx.Panel(self, id=ID_MAIN_PANEL)
frame_sizer = wx.GridBagSizer(1, 1)
frame_sizer.Add(control_panel, (0, 0), (2, 5), flag=wx.EXPAND)
frame_sizer.Add(main_panel, (2, 0), (5, 5), flag=wx.EXPAND)
frame_sizer.AddGrowableRow(0)
frame_sizer.AddGrowableCol(0)
self.SetSizer(frame_sizer)
私はcontrol_panelをmain_panelよりも上にしたいと思います(上記のように)。しかし、これは私が手に出力されます:
私は反対のことを指定したとき、トップパネルは、そんなに大きな下部パネルよりも、なぜ私にはわかりません。 (2,5)、底部には(5,5)である。サイズを小さくすると奇妙な振る舞いをしますが、基本的には私が望むものが与えられます(下の画像を参照)。しかし、それを再び大きくすると、比率を維持する方法がわかりません。
しかし、あなたは、底部がはるかに小さく、はるかに大きい上部になっと((下)他の方向における劇的な形状および比率の変化を見ることができる(たとえ少量)大きいサイズ変更起動時)。
はまだこのサイザーを習得しようとすると、本当に私が見てきた例のいずれかでこの問題を見つけることができません。また、すべてのパラメータを試してみるといくつかのテストをして、私はここで何が起こっているのか理解できません。どんな助けでも大歓迎です。編集:下記の画像を参考に追加してください。あなたが最初の行のみと可変長された最初の列を指定したグリッドの7行5列の
これでもSetMaxSizeを使用できますか?私はトップパネルが同じサイズ(yではxが拡張可能)を維持するが、下のパネルは(xとyの中で)拡大するようにしたい。 – johnharris85
私はトップパネル用のネストされたサイザーを使ってそれを得ることができるかもしれませんが、わかりません。 –