パネルにコンテンツを含むパネルを作成する必要があり、パネルの作成後にサイズを変更する必要があります。パネルのサイズは子コンテンツによって異なります。子コンテンツを作成するときは、親パネルを指定する必要があります。鶏と卵の問題のように。したがって、パネルとそのコンテンツを作成し、コンテンツに基づいてパネルのサイズを変更する必要があります...
そこで、パネルが 50 x 50 で始まるモックアップ コード例を作成し、そのサイズで作成した後、代わりに 400 x 400 にしたいと思います。しかし、これをコンピューターで実行すると、 50 x 50 として参照してください。 SetSize((400, 400)) は効果がありません!
これを修正して、サイザーを適用した後に SetSize を有効にするにはどうすればよいですか? どんな助けでも大歓迎です...
import wx
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, id = -1, title = 'Hello, World!', size = (500, 500))
self.__myPanel = wx.Panel(self, size = (50, 50), style = wx.SIMPLE_BORDER)
def test(self):
self.__myPanel.SetSize((400, 400))
vertBoxSizer = wx.BoxSizer(wx.VERTICAL)
vertBoxSizer.AddSpacer((0, 10))
vertBoxSizer.Add(self.__myPanel, 0, wx.ALL, 0)
self.SetSizer(vertBoxSizer)
self.Layout()
if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
frame.test()
frame.Show(True)
app.MainLoop()
print 'Exiting...'