import wx
class HuTaoFrame(wx.Frame):
def __init__ (self , parent=None , id=-1 , title="NewFrame" , pos=(100,100) , size=(300,300) ):
wx.Frame.__init__( self , parent , id , title , pos , size )
panel = wx.Panel(self) #创建画板
#创建标题与可爱的胡桃
self.title = wx.StaticText( panel , label="可爱的胡堂主(*╹▽╹*)" )
font = wx.Font(16, wx.DEFAULT, wx.FONTSTYLE_ITALIC, wx.BOLD )
self.title.SetFont(font) # 将标题对象的字体设置为指定的字体
self.sentence1 = wx.StaticText(panel, label="嗯~早起身体好,晚睡人会飘。")
self.sentence2 = wx.StaticText(panel, label="哟!中午好呀,吃了吗?")
self.sentence3 = wx.StaticText(panel, label="嘻嘻,月亮出来喽~咱也出门吧。")
#创建登录文本
self.subtitle = wx.StaticText(panel, label="申请结婚登记")
self.subtitle.SetFont(font) # 将副标题对象的字体设置为指定的字体
self.labor_user = wx.StaticText( panel , label="昵称:" )
self.text_user = wx.TextCtrl(panel, style=wx.TE_LEFT )
self.text_user.SetHint('输入个可爱的昵称吧~')
self.label_pwd = wx.StaticText(panel, pos=(50, 180), label="密码:")
self.text_password = wx.TextCtrl(panel, style=wx.TE_PASSWORD)
self.text_password.SetHint('要设置一个安全的密码哦~')
# 添加按钮并绑定事件
self.bt_confirm = wx.Button(panel, label="确定")
self.bt_confirm.Bind(wx.EVT_BUTTON, self.OnclickSubmit)
self.bt_cancel = wx.Button(panel, label="取消")
self.bt_cancel.Bind(wx.EVT_BUTTON, self.OnclickCancel)
#添加容器
#横向
hsizer_user = wx.BoxSizer(wx.HORIZONTAL)
hsizer_user.Add( self.labor_user , proportion=0 , flag=wx.ALL , border=5 )
hsizer_user.Add( self.text_user , proportion=1, 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_password, proportion=1, flag=wx.ALL, border=5 )
hsizer_button = wx.BoxSizer(wx.HORIZONTAL)
hsizer_button.Add( self.bt_confirm , proportion=0 , flag=wx.ALIGN_CENTER , border=5 )
hsizer_button.Add(self.bt_cancel, proportion=0, flag=wx.ALIGN_CENTER, border=5)
#纵向
vsizer_all = wx.BoxSizer(wx.VERTICAL)
vsizer_all.Add(self.title , proportion=0 , flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER , border=10 )
vsizer_all.Add(self.sentence1, proportion=0, flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER, border=0)
vsizer_all.Add(self.sentence2, proportion=0, flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER, border=0)
vsizer_all.Add(self.sentence3, proportion=0, flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER, border=0)
vsizer_all.Add(self.subtitle, proportion=0, flag=wx.BOTTOM | wx.TOP | wx.ALIGN_CENTER, border=10)
vsizer_all.Add(hsizer_user, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=15)
vsizer_all.Add(hsizer_pwd, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=15)
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_user.GetValue()
password = self.text_password.GetValue()
if username == "":
message = "昵称不能为空"
elif password == "":
message = "密码不能为空"
elif username == "xiaoman" and password == "xiaoman521":
message = "成功了!"
else:
message = "昵称与密码不匹配哦~"
wx.MessageBox(message) #弹出提示框
def OnclickCancel(self,event):
self.text_user.SetValue("") #清空昵称
self.text_password.SetValue("") #清空密码
if __name__ == '__main__':
app = wx.App()
frame = HuTaoFrame(title="胡桃老婆",size=(450,300))
frame.Show()
app.MainLoop()
输出如下图
该代码示例展示了如何利用wxPython库构建一个具有胡桃主题的图形用户界面,包括设置标题、文字、文本框和按钮,以及处理登录验证的事件。用户需输入昵称和密码,程序会对输入进行检查并显示相应信息。
4513

被折叠的 条评论
为什么被折叠?



