私はwx.BoxSizersを使用して、(ここでは簡略化された)プログラムの要素を整列させています。青いpanel1を4:3のアスペクト比で成形する必要がありますが、フレームを埋めるために拡張し、そのために、proportion=1を指定します。ただし、テキストをpanel1の真下に配置しますが、できるだけ小さくします(porportion = 0)
ただし、これを設定すると、panel1が下向きに展開され(おそらく形状が設定されていても)、テキストがウィンドウの下部にプッシュされます。ウィンドウのサイズが変更されても、テキストを「ハグ」するpanel1が必要です。これを修正するにはどうすればよいですか?ありがとう!
import wx
class myWindow(wx.Window):
def __init__(self, parent, size):
wx.Window.__init__(self, parent=parent, size=size)
self.SetBackgroundColour(wx.BLUE)
class MainWindow(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent=parent, size=(500,500) )
self.panel1 = myWindow(self, size=(400,300))
self.text = wx.StaticText(self, label="This is text.")
self.mainSizer = wx.BoxSizer(wx.VERTICAL)
self.mainSizer.Add(self.panel1, 1, wx.ALIGN_TOP |
wx.SHAPED | wx.EXPAND | wx.ALL, border=10)
self.mainSizer.Add(self.text, 0, wx.EXPAND |
wx.ALIGN_TOP | wx.LEFT, border=10)
self.SetSizer(self.mainSizer)
self.Show()
app = wx.App(False)
panel = MainWindow(None)
app.MainLoop()