zoukankan      html  css  js  c++  java
  • 简单登陆窗口

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

      项目要求:

        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()

    代码还很不够完善。

    未完待续。。。。

    腾飞前的蛰伏
  • 相关阅读:
    leetcode-13. Roman to Integer
    leetcode-171. Excel Sheet Column Number
    学生信息管理系统案例小结
    Kafka 生产者、消费者与分区的关系
    json.dumps()包装中文字符串
    Spring-JDBC
    JDBC 连接池
    JDBC
    Python DBUtils 连接池对象 (PooledDB)
    Java Junit单元测试
  • 原文地址:https://www.cnblogs.com/xiaoli2018/p/4457598.html
Copyright © 2011-2022 走看看