python 图形界面实现简单登陆功能
使用安装 wxPython
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Oct 26 2018)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
import time,os
###########################################################################
## Class MyFrame1
###########################################################################
class MyFrame1 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"登陆", pos = wx.DefaultPosition, size = wx.Size( 233,173 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
bSizer2 = wx.BoxSizer( wx.VERTICAL )
fgSizer1 = wx.FlexGridSizer( 0, 2, 0, 0 )
fgSizer1.SetFlexibleDirection( wx.BOTH )
fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
self.m_staticText7 = wx.StaticText( self, wx.ID_ANY, u"用户名", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText7.Wrap( -1 )
fgSizer1.Add( self.m_staticText7, 0, wx.ALL|wx.ALIGN_RIGHT, 5 )
self.m_textCtrl4 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
fgSizer1.Add( self.m_textCtrl4, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
self.m_staticText8 = wx.StaticText( self, wx.ID_ANY, u"密码", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText8.Wrap( -1 )
fgSizer1.Add( self.m_staticText8, 0, wx.ALL|wx.ALIGN_RIGHT, 5 )
self.m_textCtrl5 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PASSWORD )
self.m_textCtrl5.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString ) )
fgSizer1.Add( self.m_textCtrl5, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
bSizer2.Add( fgSizer1, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL, 5 )
self.m_button3 = wx.Button( self, wx.ID_ANY, u"登陆", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer2.Add( self.m_button3, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
self.m_staticText9 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText9.Wrap( -1 )
self.m_staticText9.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_HIGHLIGHT ) )
bSizer2.Add( self.m_staticText9, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
self.SetSizer( bSizer2 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.m_button3.Bind( wx.EVT_BUTTON, self.login )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def login( self, event ):
t4 = self.m_textCtrl4.GetValue()
t5 = self.m_textCtrl5.GetValue()
if t4 == 'admin' and t5 == 'ddd':
print('登陆成功!')
self.m_staticText9.SetLabel('登陆成功!')
self.Destroy()
frameopen2()
os._exit(0)
else:
print('账户名密码不对!')
self.m_staticText9.SetLabel('账户名密码不对!')
event.Skip()
class MyFrame3 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
bSizer5 = wx.BoxSizer( wx.VERTICAL )
self.m_staticText10 = wx.StaticText( self, wx.ID_ANY, u"欢迎进入2021!", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText10.Wrap( -1 )
bSizer5.Add( self.m_staticText10, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
self.m_button5 = wx.Button( self, wx.ID_ANY, u"close", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer5.Add( self.m_button5, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
self.SetSizer( bSizer5 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.m_button5.Bind( wx.EVT_BUTTON, self.closeme )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def closeme( self, event ):
self.Destroy()
os._exit(0)
def main():
app = wx.App(False)
frame = MyFrame1(None)
frame.Show(True)
#start the applications
app.MainLoop()
return frame,app
def frameopen2():
app = wx.App(False)
frame = MyFrame3(None)
frame.Show(True)
#start the applications
app.MainLoop()
return frame,app
main()
最后测试结果
密码错误时提示!
密码正确,进入其他页面