由于某种原因,我sizer.Clear()似乎无法正常工作。据我从文档中了解到,它应该可以工作。我做错了什么会导致这种现象吗?import wximport osimport sysimport timeimport stringimport urllib2class MainWindow(wx.Frame): def __init__(self, parent, id=wx.ID_ANY, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.MINIMIZE_BOX | wx.CLOSE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION): wx.Frame.__init__(self, parent, id, title, pos, size, style) panel = wx.Panel(self) sizer = wx.BoxSizer(wx.VERTICAL) panel.SetSizer(sizer) self.sizer = sizer self.panel = panel self.ShowLoginBox() def ShowLoginBox(self): sizer = wx.FlexGridSizer(rows=4, cols=2, hgap=15, vgap=10) sizer.AddGrowableCol(1, 1) login_url = wx.TextCtrl(self.panel, 1, size=(150, -1)) label_url = wx.StaticText(self.panel, -1, "URL:") sizer.Add(label_url, 0, wx.LEFT | wx.TOP| wx.RIGHT, 30) sizer.Add(login_url, 1, wx.EXPAND | wx.TOP | wx.RIGHT, 30) login_username = wx.TextCtrl(self.panel, 1, size=(150, -1)) label_username = wx.StaticText(self.panel, -1, "Username:") sizer.Add(label_username, 0, wx.LEFT | wx.RIGHT, 30) sizer.Add(login_username, 1, wx.EXPAND | wx.RIGHT, 30) login_password = wx.TextCtrl(self.panel, 1, size=(150, -1), style=wx.TE_PASSWORD) label_password = wx.StaticText(self.panel, -1, "Password:") sizer.Add(label_password, 0, wx.LEFT | wx.RIGHT, 30) sizer.Add(login_password, 1, wx.EXPAND | wx.RIGHT, 30) btn_process = wx.Button(self.panel, -1, "&Login") self.panel.Bind(wx.EVT_BUTTON, self.OnSubmit, btn_process) sizer.Add(btn_process, 0, wx.LEFT, 30) login_url.SetValue("http://example.com") login_username.SetValue("admin") login_password.SetValue("pass") self.login_url = login_url self.login_username = login_username self.login_password = login_password self.sizer.Clear() self.sizer.Add(sizer, 1, wx.EXPAND) self.SetSizeWH(330, 250) self.Center()
添加回答
举报
0/150
提交
取消