我有一种情况,我必须在面板中创建一个包含内容的面板,然后在创建面板之后,我需要调整它的大小。面板的大小取决于子内容,创建子内容时需要指定父面板;就像鸡和蛋的问题。所以,我需要创建面板及其内容,然后根据内容,调整面板大小......
因此,我制作了一个模拟代码示例,面板从 50 x 50 开始,在以该尺寸构建后,我希望它改为 400 x 400。但是,当您在计算机上运行它时,您只需将其视为 50 x 50。 SetSize((400, 400)) 无效!
应用 sizer 后如何解决这个问题并使 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...'