import wx
class MyFrame(wx.Frame):
def init(self, parent, id):
wx.Frame.init(self, parent, id, title="用户登录", pos=(100, 100), size=(400, 300))
panel = wx.Panel(self)
# 创建按钮
self.bt_confirm = wx.Button(panel, label="确定")
self.bt_cancel = wx.Button(panel, label="取消")
# 创建文本
self.title = wx.StaticText(panel, label="请输入用户名和密码")
self.label_user = wx.StaticText(panel, label="用户名:")
self.text_user = wx.TextCtrl(panel, style=wx.TE_LEFT)
self.label_pwd = wx.StaticText(panel, label="密码:")
self.text_pwd = wx.TextCtrl(panel, style=wx.TE_PASSWORD)
# 创建横向容器
hsizer_user = wx.BoxSizer(wx.HORIZONTAL)
hsizer_user.Add(self.label_user, proportion=0, flag=wx.ALL, border=5)
hsizer_user.Add(self.text_user, proportion=0, flag=wx.ALL, border=5)
hsizer_pwd = wx.BoxSizer(wx.HORIZONTAL)
hsizer_pwd.Add(self.label_pwd, proportion=0, flag=wx.ALL, border=5)
hsizer_pwd.Add(self.text_pwd, proportion=0, flag=wx.ALL, border=5)
hsizer_button = wx.BoxSizer(wx.HORIZONTAL)
hsizer_button.Add(self.bt_confirm, proportion=0, flag=wx.ALL, border=5)
hsizer_button.Add(self.bt_cancel, proportion=0, flag=wx.ALL, border=5)
vsizer_all = wx.BoxSizer(wx.VERTICAL)
vsizer_all.Add(self.title, proportion=0, flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER, border=15)
vsizer_all.Add(hsizer_user, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=45)
vsizer_all.Add(hsizer_pwd, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=45)
vsizer_all.Add(hsizer_button, proportion=0, flag=wx.ALIGN_CENTER|wx.TOP, border=15)
panel.SetSizer(vsizer_all)
vsizer = wx.BoxSizer(wx.VERTICAL)
vsizer.Add(self.title, proportion=0, flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER, border=25)
panel.SetSizer(vsizer)
if name == "main":
app = wx.App()
frame = MyFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
请问我的这个代码,把中间那部分去掉可以运行,但加上中间那部分后就运行不了了,代码都是正确的,为什么呢?