简单登陆窗口

  项目名称:编写一个登陆界面

  项目要求:

    1.输入用户名和密码

    2.登陆成功后显示欢迎界面

             3.输错三次后账户锁定

 项目需求分析:

  首先要有一个登陆界面,这里需要建立一个GUI的窗口用于输入用户名和密码,登陆界面中包括登陆界面的说明,用户名和密码的输入窗口,登陆按钮。输入正确还需要一个登陆成功的那个欢迎信息,输入错误有输入错误提示,三次失败之后需要提示账户已经锁定。即使重新打开界面账户依然锁定。

程序流程图:

项目代码:

 1 #encoding=utf-8
 2 __author__ = 'heng'
 3 '''
 4 ---------------------------------------------------------------------------
 5                             项目:编写一个登陆界面
 6                             项目需求:
 7                             1.输入用户名和密码
 8                             2.登陆成功后显示欢迎界面
 9                             3.输错三次后账户锁定
10 ----------------------------------------------------------------------------
11 '''
12 import wx
13 #用户的信息
14 user = 'xiaoli'
15 password = 'fucking'
16 #添加log按键的处理
17 def logDeal(event):
18     if user == userText.GetValue()and password == passText.GetValue():
19         the_succeedGUI()
20     else:
21         the_lowGUI()
22 
23 #登陆界面
24 def the_logGUI():
25     logApp = wx.App()
26     log_win = wx.Frame(None,title = '---------------please log--------------',size = (500,400))
27     bkg1 = wx.Panel(log_win)
28     userBUTTON = wx.Button(bkg1,label = 'user')
29     passwordBUTTON = wx.Button(bkg1,label = 'password')
30     logBUTTON = wx.Button(bkg1,label = 'log')    #登陆按钮
31     logBUTTON.Bind(wx.EVT_BUTTON,logDeal)
32     global userText
33     userText = wx.TextCtrl(bkg1)  #建立用户名的输入框
34     global passText
35     passText = wx.TextCtrl(bkg1)      #建立密码的输入框
36     #开始布局
37     box1 = wx.BoxSizer()     #添加尺寸器,默认水平布局
38     box1.Add(userBUTTON,flag = wx.LEFT | wx.Height,border = 5)
39     box1.Add(userText,flag = wx.LEFT,border = 5)
40     box2 = wx.BoxSizer()       #开始上下布局
41     box2.Add(box1,flag = wx.ALL,border = 5)
42     box2.Add(passwordBUTTON,flag = wx.LEFT,border = 5)
43     box2.Add(passText,flag = wx.LEFT|wx.Height,border = 5)
44     box3 = wx.BoxSizer(wx.VERTICAL)
45     box3.Add(box2,flag = wx.ALL,border = 5)
46     box3.Add(logBUTTON,flag = wx.LEFT,border = 200)
47     bkg1.SetSizer(box3)
48     log_win.Show()
49     logApp.MainLoop()
50 
51 #登陆成功的GUI
52 def the_succeedGUI():
53 
54     succeedApp = wx.App()
55     win2 = wx.Frame(None,title = 'you are succeed',size = (300,200))
56     the_succeed = wx.Button(win2,label = 'you are logging in  !  ')
57     win2.Show()
58     succeedApp.MainLoop()
59 
60 #登陆失败的GUI
61 def the_lowGUI():
62     lowApp = wx.App()
63     win3 = wx.Frame(None,title = "you arn't log in ",size = (300,200))
64     the_low = wx.Button(win3,label = "input fail! you have three chance")
65     win3.Show()
66     lowApp.MainLoop()
67 
68 #账户锁定GUI
69 def the_lockGUI():
70     lockApp = wx.App()
71     win4 = wx.Frame(None,title = 'the user have been lock!',size = (300,200))
72     the_lock = wx.Button(win4,label = "the user have been lock!")
73     win4.Show()
74     lockApp.MainLoop()
75 
76 the_logGUI()

代码还很不够完善。

未完待续。。。。

腾飞前的蛰伏
原文地址:https://www.cnblogs.com/xiaoli2018/p/4457598.html