Я делаю фрейм wxPython. Когда рамка показывает следующую панель, макет следующей панели нарушается, несмотря на использование того же макета.
Код ниже.
У кого-нибудь есть идеи?
def _setup(self):
# frame
self.frame = wx.Frame(None, wx.ID_ANY, 'widget', size=(self.Size.WIDTH, self.Size.HEIGHT))
# panel1
self.panel1 = self._get_panel()
self.panel1.Show()
# setting panel
self.panel2 = self._get_panel()
self.panel2.Hide()
self.frame.Show()
def _get_panel(self):
panel = wx.Panel(self.frame, wx.ID_ANY, pos=(0, self.Size.MENU), size=(self.Size.WIDTH, self.Size.HEIGHT - self.Size.MENU))
layout = wx.BoxSizer(wx.VERTICAL)
token_label = wx.StaticText(panel, wx.ID_ANY, 'test')
token_label.SetForegroundColour('#FFFFFF')
layout.Add(token_label, flag=wx.TOP | wx.LEFT, border=self.Size.MARGIN)
self._border(panel, layout)
self.token_text = wx.TextCtrl(panel, wx.ID_ANY, style=wx.TE_LEFT)
self.token_text.SetForegroundColour('#FFFFFF')
self.token_text.SetBackgroundColour('#333333')
layout.Add(self.token_text, flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT, border=self.Size.MARGIN)
panel.SetSizer(layout)
self.btn_panel = wx.Panel(panel, 1, pos=(0, 380), size=(self.Size.WIDTH, 100))
self.btn_panel.SetBackgroundColour('#5DFF3E')
self.btn_panel.Bind(wx.EVT_LEFT_UP, self.clicked)
def clicked(self, event):
self.panel1.Hide()
self.panel2.Show()
А также это изображения.