直接上代碼吧(我也不知道為什麼第一次顯示的登入頁面是正常的,後面就一直有些問題,所有想要了解相關知識的參考一下就可)
1.代碼實作
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,title='使用者登入',size=(400,300))
panel=wx.Panel(self)
self.title=wx.StaticText(panel,label='請輸入使用者名和密碼')
self.user_label=wx.StaticText(panel,label='使用者名')
self.text_label=wx.TextCtrl(panel,style=wx.TE_LEFT)
self.user_pwd=wx.StaticText(panel,label='密碼碼')
self.password=wx.TextCtrl(panel,style=wx.TE_PASSWORD)
self.button1=wx.Button(panel,label='取消')
self.button2=wx.Button(panel,label='确定')
self.button2.Bind(wx.EVT_BUTTON,self.OnclickSubmit)
hsizer_user=wx.BoxSizer(wx.HORIZONTAL)
hsizer_user.Add(self.user_label,proportion=0,flag=wx.ALL,border=5)
hsizer_user.Add(self.text_label,proportion=1,flag=wx.ALL,border=5)
hsizer_pwd=wx.BoxSizer(wx.HORIZONTAL)
hsizer_pwd.Add(self.user_pwd,proportion=0,flag=wx.ALL,border=5)
hsizer_pwd.Add(self.password,proportion=1,flag=wx.ALL,border=5)
hsizer_button=wx.BoxSizer(wx.HORIZONTAL)
hsizer_button.Add(self.button1,proportion=0,flag=wx.ALIGN_CENTRE,border=5)
hsizer_button.Add(self.button2,proportion=0,flag=wx.ALIGN_CENTRE,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)
def OnclickSubmit(self,event):
message=''
username=self.text_label.GetValue()
password=self.password.GetValue()
if username=='' or password=='':
messgae='使用者名或密碼不能為空'
elif username=='mr' and password=='mrsoft':
message='登入成功'
else:
messgae='使用者名和密碼不比對'
wx.MessageBox(message)
if __name__=='__main__':
app=wx.App()
frame=MyFrame(parent=None,id=-1)
frame.Show()
app.MainLoop()
2.執行結果

***就到這啦