| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
| 
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
    
 
 #引入python制作GUI的wxPython包:
 import wx
 
 
 #新建GUI对象:
 app=wx.App()
 
 
 #新建总窗口:
 frame=wx.Frame(None,id=-1,title='总窗口',
 name='总窗口',
 size=(400,300))
 
 
 #窗口内新建画板:
 panel=wx.Panel(frame)
 
 
 #画板内新建标题静态文本:
 title=wx.StaticText(panel,label='输入用户名和密码:')
 
 
 #用户名的2个控件:
 user_tip=wx.StaticText(panel,label='用户名:')
 user_fill=wx.TextCtrl(panel,style=wx.TE_CENTER)
 
 
 #密码的2个控件:
 pwd_tip=wx.StaticText(panel,label='密  码:')
 pwd_fill=wx.TextCtrl(panel,style=wx.TE_PASSWORD)
 
 
 #确定按钮命名为ok,取消按钮命名为no
 ok=wx.Button(panel,label='确定')
 no=wx.Button(panel,label='取消')
 
 
 #对用户名2个控件进行sizer:
 user_sizer=wx.BoxSizer(wx.HORIZONTAL)
 #加载控件:
 user_sizer.Add(user_tip,proportion=0,flag=wx.ALL,border=5)
 user_sizer.Add(user_fill,proportion=1,flag=wx.ALL,border=5)
 
 
 #对密码2个控件进行sizer:
 pwd_sizer=wx.BoxSizer(wx.HORIZONTAL)
 pwd_sizer.Add(pwd_tip,proportion=0,flag=wx.ALL,border=5)
 pwd_sizer.Add(pwd_fill,proportion=1,flag=wx.ALL,border=5)
 
 
 #对2个按钮进行sizer:
 bt_sizer=wx.BoxSizer(wx.HORIZONTAL)
 bt_sizer.Add(ok,proportion=0,flag=wx.ALL,border=5)
 bt_sizer.Add(no,proportion=1,flag=wx.ALL,border=5)
 
 
 #对panel内所有控件进行sizer:
 sizer=wx.BoxSizer(wx.VERTICAL)
 sizer.Add(title,proportion=0,flag=wx.BOTTOM|wx.TOP|wx.ALIGN_CENTER,border=15)
 sizer.Add(user_sizer,proportion=0,flag=wx.EXPAND|wx.LEFT|wx.RIGHT,border=45)
 sizer.Add(pwd_sizer,proportion=0,flag=wx.EXPAND|wx.LEFT|wx.RIGHT,border=45)
 sizer.Add(bt_sizer,proportion=0,flag=wx.TOP|wx.ALIGN_CENTER,border=15)
 
 
 #画板加载sizer:
 panel.SetSizer(sizer)
 
 
 #加载字体:
 font=wx.Font(12,wx.SCRIPT,wx.ITALIC,wx.BOLD,
 faceName='Microsoft YaHei')
 title.SetFont(font)
 user_tip.SetFont(font)
 pwd_tip.SetFont(font)
 ok.SetFont(font)
 no.SetFont(font)
 
 
 #[确定]按钮的响应程序:
 #账号abc,密码123
 def BUTTON_EVENT_OK(event):
 account=user_fill.GetValue()
 pwd=pwd_fill.GetValue()
 if account == '' or pwd == '':
 message='用户名和密码不能为空'
 elif account == 'abc' and pwd == '123':
 message='登录成功'
 else:
 message='用户名与密码不匹配'
 wx.MessageBox(message)#相当于IDL的dialog_message
 
 
 #[取消]按钮的响应程序:
 #按“取消”后清空账号和密码
 def BUTTON_EVENT_NO(event):
 user_fill.SetValue('')
 pwd_fill.SetValue('')
 
 
 
 
 #使用Bind绑定事件:
 #按钮事件:wx.EVT_BUTTON
 #鼠标移动事件:wx.EVT_MOTION
 #鼠标进入窗口事件:wx.ENTER_WINDOW
 #鼠标离开窗口事件:wx.LEAVE_WINDOW
 #滚轮事件:wx.EVT_MOUSEWHEEL
 ok.Bind(wx.EVT_BUTTON,BUTTON_EVENT_OK)
 no.Bind(wx.EVT_BUTTON,BUTTON_EVENT_NO)
 
 
 #2个最后的例行公事:
 #显示窗口:
 frame.Show()
 #开始主循环:
 app.MainLoop()
 
 
 | 
 |