Я пытался поместить центр границы на панель, используя координаты и размер, но граница остается постоянной. он не двигался по центру, а также пытался использовать wx.ALIGN_CENTER
Вот мой код:
import wx
class myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title= "asdsad")
self.login_panel = PasswordPanel(self)
self.Layout()
self.ShowFullScreen(True)
self.Show()
class PasswordPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent=parent)
self.panel = wx.Panel(self,pos=(350,350), size=(500,250), style=wx.SUNKEN_BORDER)
if __name__ == '__main__':
app = wx.App(False)
frame = myframe()
app.MainLoop()
Приведенный выше код работает, как и ожидалось, но если я добавлю код панели ниже, граница расширится.
self.quote = wx.StaticText(self.panel, label="")
self.result = wx.StaticText(self.panel, label="")
self.result.SetForegroundColour(wx.RED)
self.ok_button = wx.Button(self.panel, label="Ok")
self.cancel_button = wx.Button(self.panel, wx.ID_OK, 'Cancel')
self.lblname = wx.StaticText(self.panel, label="Enter Password:")
self.editname = wx.TextCtrl(self.panel, size=(240, -1), style=wx.TE_PASSWORD)
self.ok_button.SetFocus()
# Set sizer for the panel content
self.sizer = wx.GridBagSizer(0, 0)
self.sizer.Add(self.quote, (15, 45), flag = wx.ALL, border = 5)
self.sizer.Add(self.result, (15, 46), flag = wx.ALL, border = 5)
self.sizer.Add(self.lblname, (16, 45), flag = wx.ALL, border = 5)
self.sizer.Add(self.editname, pos = (16,46), span = (1,3), flag = wx.EXPAND|wx.ALL, border = 5)
self.sizer.Add(self.ok_button, pos = (17, 47),flag = wx.ALL, border = 5)
self.sizer.Add(self.cancel_button, pos = (17, 48),flag = wx.ALL, border = 5)
self.windowSizer = wx.BoxSizer()
self.windowSizer.Add(self.panel, 1, wx.ALL | wx.EXPAND, 5)
# Use the sizers
self.panel.SetSizerAndFit(self.sizer)
self.SetSizerAndFit(self.windowSizer)
self.Layout()
Пожалуйста, сообщите об этом.