美文网首页python热爱者Python新世界
打造python随机密码生成器,GUI界面程序 这感觉真好!

打造python随机密码生成器,GUI界面程序 这感觉真好!

作者: 48e0a32026ae | 来源:发表于2018-11-05 16:17 被阅读9次

    最近在学习python,抽空看了看图形化模块wx,顺手写了个随机密码生成器,程序运行界面如下图:(注:在Ubuntu下运行结果)

    学习Python中有不明白推荐加入交流群

                    号:516107834

                    群里有志同道合的小伙伴,互帮互助,

                    群里有不错的学习教程!

    源代码如下:

    import wx

    import string

    import random

    class Frame(wx.Frame):

    def __init__(self,parent,id):

    wx.Frame.__init__(self,parent,id,'随机密码生成器',size=(430,285))

    panel = wx.Panel(self)

    font=wx.Font(9,wx.MODERN, wx.NORMAL, wx.NORMAL)

    wx.StaticBox(panel, -1, '参数选项', (5,10), (300,80))

    wx.StaticText(panel,-1,'密码长度',(30,30))

    self.usertext = wx.TextCtrl(panel,-1,'8',(100,30),(40,20))

    self.usertext.SetFont(font)

    wx.StaticText(panel,-1,'密码数量',(150,30))

    self.usertext1 = wx.TextCtrl(panel,-1,'1',(220,30),(40,20))

    self.usertext1.SetFont(font)

    self.select1 = wx.CheckBox(panel, -1, '字母', (30,60))

    self.select1.SetValue(True)

    self.select2 = wx.CheckBox(panel, -1, '数字', (100,60))

    self.select2.SetValue(True)

    self.select3 = wx.CheckBox(panel, -1, '特殊字符', (170,60))

    self.select3.SetValue(False)

    self.button1 = wx.Button(panel, label='生成', pos=(320, 30), size=(80, 25))

    self.button2 = wx.Button(panel, label='清空', pos=(320, 60), size=(80, 25))

    self.usertext2 = wx.TextCtrl(panel,-1,'',(30,100),(350,150),style=wx.TE_MULTILINE|wx.HSCROLL|wx.TE_READONLY)

    self.usertext2.SetFont(font)

    self.Bind(wx.EVT_BUTTON, self.show, self.button1)

    self.Bind(wx.EVT_BUTTON, self.clear, self.button2)

    def show(self,event):

    value1 = self.usertext.GetValue()

    value2 = self.usertext1.GetValue()

    value3 = self.select1.GetValue()

    value4 = self.select2.GetValue()

    value5 = self.select3.GetValue()

    yy = '~!@#$%^&*(),<>?'

    uu=''

    bob = []

    if not value1 or not value2:

    wx.MessageBox('请输入密码长度和密码数量','错误')

    if value3 :

    uu = uu+string.ascii_letters

    if value4 :

    uu = uu+string.digits

    if value5 :

    uu = uu+yy

    if not uu :

    wx.MessageBox('请选择密码类型','错误')

    else :

    for i in range(int(value2)):

    tt = ''.join(random.sample(list(uu),int(value1)))

    bob.append(tt)

    self.usertext2.SetValue(''.join(bob))

    def clear(self,event):

    self.usertext2.Clear()

    if __name__ == '__main__':

    app = wx.PySimpleApp()

    frame = Frame(parent=None, id=-1)

    frame.Show()

    app.MainLoop()

    把这个程序加到你的软件中怎么样,是不是档次就高了很多!

    相关文章

      网友评论

        本文标题:打造python随机密码生成器,GUI界面程序 这感觉真好!

        本文链接:https://www.haomeiwen.com/subject/hsbsxqtx.html