生成随机密码python 窗口程序,python窗口,随机码主窗口# -*-


随机码主窗口

# -*- coding: utf-8 -*- ############################################################################# Python code generated with wxFormBuilder (version Oct  8 2012)## http://www.wxformbuilder.org/#### PLEASE DO "NOT" EDIT THIS FILE!###########################################################################import wximport wx.xrcimport funcimport win32apiimport win32con############################################################################# Class MyFrame1###########################################################################class MyFrame1 ( wx.Frame ):    def __init__( self, parent ):        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"随机密码生成器", pos = wx.Point( 100,100 ), size = wx.Size( 382,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )        self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )        gSizer1 = wx.GridSizer( 4, 1, 0, 0 )        bSizer1 = wx.BoxSizer( wx.HORIZONTAL )        self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"名称", wx.DefaultPosition, wx.DefaultSize, 0 )        self.m_staticText1.Wrap( -1 )        self.m_staticText1.SetFont( wx.Font( 18, 70, 90, 90, False, wx.EmptyString ) )        bSizer1.Add( self.m_staticText1, 0, wx.ALL, 5 )        self.m_textCtrl1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )        self.m_textCtrl1.SetFont( wx.Font( 15, 70, 90, 90, False, wx.EmptyString ) )        self.m_textCtrl1.SetMinSize( wx.Size( 300,30 ) )        bSizer1.Add( self.m_textCtrl1, 0, wx.ALL, 5 )        gSizer1.Add( bSizer1, 1, wx.EXPAND, 5 )        bSizer2 = wx.BoxSizer( wx.HORIZONTAL )        self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"位数", wx.DefaultPosition, wx.DefaultSize, 0 )        self.m_staticText2.Wrap( -1 )        self.m_staticText2.SetFont( wx.Font( 18, 70, 90, 90, False, wx.EmptyString ) )        bSizer2.Add( self.m_staticText2, 0, wx.ALL, 5 )        self.m_textCtrl2 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )        self.m_textCtrl2.SetFont( wx.Font( 15, 70, 90, 90, False, wx.EmptyString ) )        self.m_textCtrl2.SetMinSize( wx.Size( 300,30 ) )        bSizer2.Add( self.m_textCtrl2, 0, wx.ALL, 5 )        gSizer1.Add( bSizer2, 1, wx.EXPAND, 5 )        bSizer3 = wx.BoxSizer( wx.HORIZONTAL )        self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"密码", wx.DefaultPosition, wx.DefaultSize, 0 )        self.m_staticText3.Wrap( -1 )        self.m_staticText3.SetFont( wx.Font( 18, 70, 90, 90, False, wx.EmptyString ) )        bSizer3.Add( self.m_staticText3, 0, wx.ALL, 5 )        self.m_textCtrl3 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY )        self.m_textCtrl3.SetFont( wx.Font( 15, 70, 90, 90, False, wx.EmptyString ) )        self.m_textCtrl3.SetMinSize( wx.Size( 300,30 ) )        bSizer3.Add( self.m_textCtrl3, 0, wx.ALL, 5 )        gSizer1.Add( bSizer3, 1, wx.EXPAND, 5 )        bSizer4 = wx.BoxSizer( wx.HORIZONTAL )        self.m_button6 = wx.Button( self, wx.ID_ANY, u"生成密码", wx.DefaultPosition, wx.DefaultSize, 0 )        bSizer4.Add( self.m_button6, 1, wx.ALL|wx.EXPAND, 5 )        self.m_button7 = wx.Button( self, wx.ID_ANY, u"导出文件", wx.DefaultPosition, wx.DefaultSize, 0 )        bSizer4.Add( self.m_button7, 1, wx.ALL|wx.EXPAND, 5 )        gSizer1.Add( bSizer4, 1, wx.EXPAND, 5 )        self.SetSizer( gSizer1 )        self.Layout()        self.Centre( wx.BOTH )        # Connect Events        self.m_button6.Bind( wx.EVT_BUTTON, self.generateRandomCode )        self.m_button7.Bind( wx.EVT_BUTTON, self.outputToFile )    def __del__( self ):        pass    # Virtual event handlers, overide them in your derived class    def generateRandomCode( self, event ):                try:                    import random                 except:                     self.m_textCtrl2.SetValue("ERROR: Could NOT load module random")                     return                #取得值                codeBit = self.m_textCtrl2.GetValue()                resultCode = ''                #判断输入并生成结果                if codeBit >= u'\u0030' and codeBit<=u'\u0039':                    for i in range(1,int(codeBit)+1):                        eachBit = random.randint(33,126)                        resultCode += str(chr(eachBit))                else:                    self.m_textCtrl2.SetValue("错误请输入整数")                    #display the code in codeplace                 if resultCode != None:                    self.m_textCtrl3.SetValue(resultCode)        event.Skip()        return     def outputToFile( self, event ):                try:                        import successForm                except:                        self.m_textCtrl2.SetValue("ERROR: Could NOT load module random")                         return                codeName = self.m_textCtrl1.GetValue()                resultCode = self.m_textCtrl3.GetValue()                if func.outputToFile(codeName,resultCode):                       win32api.MessageBox(0, '导出成功', '', win32con.MB_OK)        event.Skip()

主程序

import randomCodeFormimport wxapp = wx.App()main_frm = randomCodeForm.MyFrame1(None)main_frm.Show()app.MainLoop()

将生成的密码写入文件

# -*- coding: utf-8 -*-import osdef outputToFile(codeName,resultCode):    fp = open("code.txt",'a')    oStr = "名称: "+codeName+" 密码:"+resultCode+"\n"    fp.write(oStr)    fp.close    return True

保存成功提示窗口

# -*- coding: utf-8 -*- ############################################################################# Python code generated with wxFormBuilder (version Oct  8 2012)## http://www.wxformbuilder.org/#### PLEASE DO "NOT" EDIT THIS FILE!###########################################################################import wximport wx.xrc############################################################################# Class MyFrame1###########################################################################class successForm ( wx.Frame ):    def __init__( self, parent ):        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 233,81 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )        self.SetBackgroundColour( wx.Colour( 199, 237, 204 ) )        bSizer1 = wx.BoxSizer( wx.VERTICAL )        self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"导出成功", wx.DefaultPosition, wx.DefaultSize, 0 )        self.m_staticText1.Wrap( -1 )        self.m_staticText1.SetFont( wx.Font( 18, 70, 90, 90, False, wx.EmptyString ) )        bSizer1.Add( self.m_staticText1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )        self.SetSizer( bSizer1 )        self.Layout()        self.Centre( wx.BOTH )    def __del__( self ):        pass

评论关闭