python3使用tkinter制作用户管理模块

来源:互联网 发布:大成网络招聘骗局 编辑:程序博客网 时间:2024/05/17 20:28
#! /usr/bin/env python3# -*- coding: UTF-8 -*-import tkinter as tkfrom tkinter import ttkfrom tkinter import *from tkinter import messageboximport pymysqlimport refrom _tkinter import createroot = tk.Tk()root.title('用户管理')root.maxsize()w,h=root.maxsize()root.geometry("{}x{}".format(w, h))labelframe = ttk.LabelFrame(root)labelframe.grid(row=0, column=0)        label_01 = Label(labelframe,text = '用户姓名:')label_01.grid(row=0,column=0)data_01 = StringVar()entry_01 = Entry(labelframe,textvariable=data_01)entry_01.grid(row=0,column=1)label = Label(labelframe,text = '     ')label.grid(row=0,column=2)label_02 = Label(labelframe, text='用户手机号:')label_02.grid(row=0, column=3)data_02 = StringVar()entry_02 = Entry(labelframe,textvariable=data_02)entry_02.grid(row=0,column=4)label = Label(labelframe, text='     ')label.grid(row=0, column=5)label_03 = Label(labelframe, text='城市:')label_03.grid(row=0, column=6)data_03 =StringVar()combobox_03 =ttk.Combobox(labelframe,textvariable=data_03)combobox_03['values']=('不限','杭州市','南京市')combobox_03["state"] = "readonly" combobox_03.current(0) combobox_03.grid(row=0, column=7)label = Label(labelframe, text='     ')label.grid(row=0, column=8)label_04 = Label(labelframe, text='所在部门:')label_04.grid(row=0, column=9)data_04 =StringVar()combobox_04 =ttk.Combobox(labelframe,textvariable=data_04)combobox_04['values']=('不限','总部','分公司')combobox_04["state"] = "readonly" combobox_04.current(0) combobox_04.grid(row=0, column=10)label = Label(labelframe, text='     ')label.grid(row=0, column=11)label_05 = Label(labelframe, text='用户岗位:')label_05.grid(row=0, column=12)data_05 =StringVar()combobox_05 =ttk.Combobox(labelframe,textvariable=data_05)combobox_05['values']=('不限','系统管理员','测试')combobox_05["state"] = "readonly" combobox_05.current(0) combobox_05.grid(row=0, column=13)label = Label(labelframe, text='     ')label.grid(row=0, column=14)label_06 = Label(labelframe, text='用户状态:')label_06.grid(row=0, column=15)data_06 =StringVar()combobox_06 =ttk.Combobox(labelframe,textvariable=data_06)combobox_06['values']=('不限','离职','在职')combobox_06["state"] = "readonly" combobox_06.current(0) combobox_06.grid(row=0, column=16)label = Label(labelframe, text='     ')label.grid(row=0, column=17)label = Label(labelframe, text='  ')label.grid(row=1, column=0)label = Label(labelframe, text='    用户列表    ')label.grid(row=2, column=0)label = Label(labelframe, text='                  ')label.grid(row=2, column=2)label = Label(labelframe, text='                  ')label.grid(row=2, column=3)label = Label(labelframe, text='                  ')label.grid(row=2, column=4)label = Label(labelframe, text='                  ')label.grid(row=2, column=5)label = Label(labelframe, text='                  ')label.grid(row=2, column=6)label = Label(labelframe, text='                  ')label.grid(row=2, column=7)label = Label(labelframe, text='     ')label.grid(row=2, column=8)label = Label(labelframe, text='                  ')label.grid(row=2, column=9)label = Label(labelframe, text='                  ')label.grid(row=2, column=10)label = Label(labelframe, text='                  ')label.grid(row=2, column=11)label = Label(labelframe, text='                  ')label.grid(row=2, column=12)text = tk.Text(root,width=252,height=69)text.grid(row=2, column=0)######################新增系统用户~~~~~~~~~~!def addUse():    pot = tk.Tk()    pot.title('后台用户信息')    pot.resizable(0, 0)    label1 = Label(pot,text='*',fg='red')    label1.grid(row=0, column=0)    label1 = Label(pot,text='用户姓名:')    label1.grid(row=0, column=1)    data1 = StringVar()    entry1 = Entry(pot,textvariable=data1,width=23)    entry1.grid(row=0, column=2)    label = Label(pot,text='     ')    label.grid(row=0, column=3)    label2 = Label(pot,text='*',fg='red')    label2.grid(row=0, column=4)    label2 = Label(pot,text='手机号码:')    label2.grid(row=0, column=5)    data2 = StringVar    entry2 = Entry(pot,textvariable=data2,width=23)    entry2.grid(row=0, column=6)    label = Label(pot,text='    ')    label.grid(row=0, column=7)    label3 = Label(pot,text='*',fg='red')    label3.grid(row=1, column=0)    label3 = Label(pot,text='所在部门:')    label3.grid(row=1, column=1)    data3 = StringVar()    combobox3 = ttk.Combobox(pot,textvariable=data3)    combobox3['values'] = ('请选择','总部','分公司')    combobox3["state"] = "readonly"    combobox3.current(0)     combobox3.grid(row=1, column=2)    label = Label(pot,text='     ')    label.grid(row=1, column=3)    label4 = Label(pot,text='*',fg='red')    label4.grid(row=1, column=4)    label4 = Label(pot,text='用户岗位:')    label4.grid(row=1, column=5)    data4 = StringVar()    combobox4 = ttk.Combobox(pot,textvariable=data4)    combobox4['values'] = ('请选择','系统管理员','测试')    combobox4["state"] = "readonly"     combobox4.current(0)     combobox4.grid(row=1, column=6)    label = Label(pot,text='     ')    label.grid(row=1, column=7)                    label5 = Label(pot,text='*',fg='red')    label5.grid(row=2, column=0)    label5 = Label(pot,text='城市:')    label5.grid(row=2, column=1)    data5 = StringVar()    combobox5 = ttk.Combobox(pot,textvariable=data5)    combobox5['values'] = ('请选择','杭州市','南京市')    combobox5["state"] = "readonly"     combobox5.current(0)     combobox5.grid(row=2, column=2)    label = Label(pot,text='     ')    label.grid(row=2, column=3)    label6 = Label(pot,text='*',fg='red')    label6.grid(row=2, column=4)    label6 = Label(pot,text='用户状态:')    label6.grid(row=2, column=5)    data6 = StringVar()    combobox6 = ttk.Combobox(pot,textvariable=data6)    combobox6['values'] = ('请选择','离职','在职')    combobox6["state"] = "readonly"     combobox6.current(0)     combobox6.grid(row=2, column=6)    label = Label(pot,text='     ')    label.grid(row=2, column=7)            label = Label(pot,text='     ')    label.grid(row=3, column=0)    label = Label(pot,text='     ')    label.grid(row=4, column=0)    label = Label(pot,text='     ')    label.grid(row=5, column=0)    label = Label(pot,text='     ')    label.grid(row=6, column=0)    label = Label(pot,text='     ')    label.grid(row=6, column=1)    label = Label(pot,text='     ')    label.grid(row=6, column=2)    label = Label(pot,text='     ')    label.grid(row=6, column=3)    label = Label(pot,text='     ')    label.grid(row=6, column=4)    label = Label(pot,text='     ')    label.grid(row=6, column=5)    label = Label(pot,text='     ')    label.grid(row=6, column=6)    def getdata():        Name = entry1.get().lstrip()        Phone = entry2.get().lstrip()        Department = combobox3.get().lstrip()        Post = combobox4.get().lstrip()        City = combobox5.get().lstrip()        Status = combobox6.get().lstrip()        db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8')        cursor = db.cursor()        sql = ('select name,phone from user ')        try:            cursor.execute(sql)            results = cursor.fetchall()            namedata=[]            phonedata=[]            for i in range(len(results)):                namedata.append(results[i][0])                phonedata.append(results[i][1])        except:            db.rollback()        db.close()        if len(Name)<1 or len(Name)>20  :            messagebox.showinfo(title='警告', message='用户名字长度不符合规范!')        elif   re.match('[`~!@#$%^&*()-=_+,./ \<【】{}[]>?|.]{1,20}',Name)  or re.match(' [  ]', Name) :            messagebox.showinfo(title='警告', message='用户名字内容不规范!')        elif re.match(u'[\u4e00-\u9fa5]+',Name) and  re.match('[A-Za-z]+', Name)   :            messagebox.showinfo(title='警告', message='用户名字只能纯中文或者纯英文!')        elif Name in namedata:            messagebox.showinfo(title='警告', message='用户名字已存在~!')        elif not re.match('1[3-9][0-9]{9,10}', Phone) or len(Phone) != 11:            messagebox.showinfo(title='警告', message='手机号码不符合规则~!')        elif Phone in phonedata:            messagebox.showinfo(title='警告', message='手机号码已存在~!')        elif Department == "请选择" :            messagebox.showinfo(title='警告', message='所在部门不能为空~!')        elif Department != '总部' and Department !='分公司' and Department != "请选择":            messagebox.showinfo(title='警告', message='所在部门选择有误,请重新选择~!')        elif Post == "请选择" :            messagebox.showinfo(title='警告', message='用户岗位不能为空~!')        elif Post != '系统管理员' and Post !='测试' and Post !='请选择':            messagebox.showinfo(title='警告', message='用户岗位选择有误,请重新选择~!')        elif City == "请选择" :            messagebox.showinfo(title='警告', message='城市不能为空~!')        elif City != '杭州市' and City !='南京市' and City !="请选择":            messagebox.showinfo(title='警告', message='城市选择有误,请重新选择~!')        elif Status == "请选择" :            messagebox.showinfo(title='警告', message='用户状态不能为空~!')        elif Status != '离职' and Status !='在职' and Status !="请选择":            messagebox.showinfo(title='警告', message='用户状态选择有误,请重新选择~!')        else:            messagebox.showinfo(title='注册信息', message=('新增系统用户成功'))            pot.destroy()            root.deiconify()            sql = ('insert into user(name,phone,department,post,city,status)values("%s", "%s","%s","%s", "%s","%s")' % (Name, Phone, Department,Post,City,Status))            db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8')            cursor = db.cursor()            try:                cursor.execute(sql)                db.commit()            except:                db.rollback()            db.close()                        text.delete(0.0, 1000.0)            db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8')            cursor = db.cursor()            sql ='select Name, Phone, Department,Post,City,Status from user '            try:                cursor.execute(sql)                results = cursor.fetchall()                text.insert(1.0,u'|序号 ◆    |         用户姓名 ◆   |              电话◆   |          所在部门 ◆    |       用户岗位 ◆   |        城市◆   |         用户状态 ◆   |                                                                                                     ')                for i in range(len(results)):                    text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')                    text.insert(2.0, '| ')                    text.insert(2.0, i + 1)                                if 0 <= i < 9:                        text.insert(2.0, '         |  ')                    elif 9<= i <99:                        text.insert(2.0, '        |  ')                    elif 99<= i <999:                        text.insert(2.0, '       |  ')                                              datalist = results[i]                                text.insert(2.0, datalist[0])                    if len(datalist[0]) <= 20:                        zhongwen = re.compile(u'[\u4e00-\u9fa5]+')                        match = zhongwen.search(datalist[0])                        if match:                            text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2))                        else:                            text.insert(2.0, ' ' * (20 - len(datalist[0])))                    text.insert(2.0, '              ')                    text.insert(2.0, datalist[1])                    text.insert(2.0, '            ')                    text.insert(2.0, datalist[2])                    if len(datalist[2]) == 2:                        text.insert(2.0, '  ')                    text.insert(2.0, '                ')                    text.insert(2.0, datalist[3])                    if len(datalist[3]) == 2:                        text.insert(2.0, '      ')                    text.insert(2.0, '            ')                    text.insert(2.0, datalist[4])                    text.insert(2.0, '            ')                    text.insert(2.0, datalist[5])                    text.insert(2.0, '              ')                    text.insert(2.0,                        '                                                                                                    ')                text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')            except:                db.rollback()            db.close()                                                                button = ttk.Button(pot, text='提交',command=getdata)    button.grid(row=6, column=7)        mainloop()    # 修改  def xiuUse():    pot = tk.Tk()    pot.title('后台用户信息')    pot.resizable(0, 0)    label1 = Label(pot,text='*',fg='red')    label1.grid(row=0, column=0)    label1 = Label(pot,text='用户姓名:')    label1.grid(row=0, column=1)    data1 = StringVar()    entry1 = Entry(pot,textvariable=data1,width=23)    entry1.grid(row=0, column=2)    label = Label(pot,text='     ')    label.grid(row=0, column=3)    label2 = Label(pot,text='*',fg='red')    label2.grid(row=0, column=4)    label2 = Label(pot,text='手机号码:')    label2.grid(row=0, column=5)    data2 = StringVar    entry2 = Entry(pot,textvariable=data2,width=23)    entry2.grid(row=0, column=6)    label = Label(pot,text='    ')    label.grid(row=0, column=7)    label3 = Label(pot,text='*',fg='red')    label3.grid(row=1, column=0)    label3 = Label(pot,text='所在部门:')    label3.grid(row=1, column=1)    data3 = StringVar()    combobox3 = ttk.Combobox(pot,textvariable=data3)    combobox3['values'] = ('请选择','总部','分公司')    combobox3["state"] = "readonly"    combobox3.current(0)     combobox3.grid(row=1, column=2)    label = Label(pot,text='     ')    label.grid(row=1, column=3)    label4 = Label(pot,text='*',fg='red')    label4.grid(row=1, column=4)    label4 = Label(pot,text='用户岗位:')    label4.grid(row=1, column=5)    data4 = StringVar()    combobox4 = ttk.Combobox(pot,textvariable=data4)    combobox4['values'] = ('请选择','系统管理员','测试')    combobox4["state"] = "readonly"     combobox4.current(0)     combobox4.grid(row=1, column=6)    label = Label(pot,text='     ')    label.grid(row=1, column=7)                    label5 = Label(pot,text='*',fg='red')    label5.grid(row=2, column=0)    label5 = Label(pot,text='城市:')    label5.grid(row=2, column=1)    data5 = StringVar()    combobox5 = ttk.Combobox(pot,textvariable=data5)    combobox5['values'] = ('请选择','杭州市','南京市')    combobox5["state"] = "readonly"     combobox5.current(0)     combobox5.grid(row=2, column=2)    label = Label(pot,text='     ')    label.grid(row=2, column=3)    label6 = Label(pot,text='*',fg='red')    label6.grid(row=2, column=4)    label6 = Label(pot,text='用户状态:')    label6.grid(row=2, column=5)    data6 = StringVar()    combobox6 = ttk.Combobox(pot,textvariable=data6)    combobox6['values'] = ('请选择','离职','在职')    combobox6["state"] = "readonly"     combobox6.current(0)     combobox6.grid(row=2, column=6)    label = Label(pot,text='     ')    label.grid(row=2, column=7)            label = Label(pot,text='     ')    label.grid(row=3, column=0)    label = Label(pot,text='     ')    label.grid(row=4, column=0)    label = Label(pot,text='     ')    label.grid(row=5, column=0)    label = Label(pot,text='     ')    label.grid(row=6, column=0)    label = Label(pot,text='     ')    label.grid(row=6, column=1)    label = Label(pot,text='     ')    label.grid(row=6, column=2)    label = Label(pot,text='     ')    label.grid(row=6, column=3)    label = Label(pot,text='     ')    label.grid(row=6, column=4)    label = Label(pot,text='     ')    label.grid(row=6, column=5)    label = Label(pot,text='     ')    label.grid(row=6, column=6)        def getdata():        Name = entry1.get().lstrip()        Phone = entry2.get().lstrip()        Department = combobox3.get().lstrip()        Post = combobox4.get().lstrip()        City = combobox5.get().lstrip()        Status = combobox6.get().lstrip()        db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8')        cursor = db.cursor()        sql = ('select name,phone from user ')        try:            cursor.execute(sql)            results = cursor.fetchall()            namedata=[]            phonedata=[]            for i in range(len(results)):                namedata.append(results[i][0])                phonedata.append(results[i][1])        except:            db.rollback()        db.close()        if len(Name)<1 or len(Name)>20:            messagebox.showinfo(title='警告', message='用户名字长度不在1-20范围内~!')        elif Name in namedata:            messagebox.showinfo(title='警告', message='用户名字已存在~!')        elif not re.match('1[3-9][0-9]{9,10}', Phone) or len(Phone) != 11:            messagebox.showinfo(title='警告', message='手机号码不符合规则~!')        elif Phone in phonedata:            messagebox.showinfo(title='警告', message='手机号码已存在~!')        elif Department == "请选择" :            messagebox.showinfo(title='警告', message='所在部门不能为空~!')        elif Department != '总部' and Department !='分公司' and Department != "请选择":            messagebox.showinfo(title='警告', message='所在部门选择有误,请重新选择~!')        elif Post == "请选择" :            messagebox.showinfo(title='警告', message='用户岗位不能为空~!')        elif Post != '系统管理员' and Post !='测试' and Post !='请选择':            messagebox.showinfo(title='警告', message='用户岗位选择有误,请重新选择~!')        elif City == "请选择" :            messagebox.showinfo(title='警告', message='城市不能为空~!')        elif City != '杭州市' and City !='南京市' and City !="请选择":            messagebox.showinfo(title='警告', message='城市选择有误,请重新选择~!')        elif Status == "请选择" :            messagebox.showinfo(title='警告', message='用户状态不能为空~!')        elif Status != '离职' and Status !='在职' and Status !="请选择":            messagebox.showinfo(title='警告', message='用户状态选择有误,请重新选择~!')        else:                        pot.destroy()            root.deiconify()            sql = ('insert into user(name,phone,department,post,city,status)values("%s", "%s","%s","%s", "%s","%s")' % (Name, Phone, Department,Post,City,Status))            db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8')                        cursor = db.cursor()            try:                cursor.execute(sql)                db.commit()                      except:                db.rollback()            db.close()                         text.delete(0.0, 1000.0)            db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8')            cursor = db.cursor()            sql ='select Name, Phone, Department,Post,City,Status from user '            try:                cursor.execute(sql)                results = cursor.fetchall()                text.insert(1.0,u'|序号 ◆    |         用户姓名 ◆   |              电话◆   |          所在部门 ◆    |       用户岗位 ◆   |        城市◆   |         用户状态 ◆   |                                                                                                     ')                for i in range(len(results)):                    text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')                    text.insert(2.0, '| ')                    text.insert(2.0, i + 1)                                if 0 <= i < 9:                        text.insert(2.0, '         |  ')                    elif 9<= i <99:                        text.insert(2.0, '        |  ')                    elif 99<= i <999:                        text.insert(2.0, '       |  ')                                              datalist = results[i]                                text.insert(2.0, datalist[0])                    if len(datalist[0]) <= 20:                        zhongwen = re.compile(u'[\u4e00-\u9fa5]+')                        match = zhongwen.search(datalist[0])                        if match:                            text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2))                        else:                            text.insert(2.0, ' ' * (20 - len(datalist[0])))                    text.insert(2.0, '              ')                    text.insert(2.0, datalist[1])                    text.insert(2.0, '            ')                    text.insert(2.0, datalist[2])                    if len(datalist[2]) == 2:                        text.insert(2.0, '  ')                    text.insert(2.0, '                ')                    text.insert(2.0, datalist[3])                    if len(datalist[3]) == 2:                        text.insert(2.0, '      ')                    text.insert(2.0, '            ')                    text.insert(2.0, datalist[4])                    text.insert(2.0, '            ')                    text.insert(2.0, datalist[5])                    text.insert(2.0, '              ')                    text.insert(2.0,                        '                                                                                                    ')                text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')            except:                db.rollback()            db.close()                        messagebox.showinfo(title='注册信息', message=('新增系统用户成功'))    button = ttk.Button(pot, text='提交',command=getdata)    button.grid(row=6, column=7)        mainloop()                                                 ################重置def listdisplay():    data_01.set('    ')    data_02.set('    ')    data_03.set(' 不限')    data_04.set(' 不限')    data_05.set(' 不限')    data_06.set(' 不限')        text.delete(0.0, 1000.0)    db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8')    cursor = db.cursor()    sql ='select Name, Phone, Department,Post,City,Status from user '    try:        cursor.execute(sql)        results = cursor.fetchall()        text.insert(1.0,                    u'|序号 ◆    |         用户姓名 ◆   |              电话◆   |          所在部门 ◆    |       用户岗位 ◆   |        城市◆   |         用户状态 ◆   |                                                                                                     ')        for i in range(len(results)):            text.insert(2.0,                        '|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')            text.insert(2.0, '| ')            text.insert(2.0, i + 1)                        if 0 <= i < 9:                text.insert(2.0, '         |  ')            elif 9<= i <99:                text.insert(2.0, '        |  ')            elif 99<= i <999:                text.insert(2.0, '       |  ')                                      datalist = results[i]                        text.insert(2.0, datalist[0])            if len(datalist[0]) <= 20:                zhongwen = re.compile(u'[\u4e00-\u9fa5]+')                match = zhongwen.search(datalist[0])                if match:                    text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2))                else:                    text.insert(2.0, ' ' * (20 - len(datalist[0])))            text.insert(2.0, '              ')            text.insert(2.0, datalist[1])            text.insert(2.0, '            ')            text.insert(2.0, datalist[2])            if len(datalist[2]) == 2:                text.insert(2.0, '  ')            text.insert(2.0, '                ')            text.insert(2.0, datalist[3])            if len(datalist[3]) == 2:                text.insert(2.0, '      ')            text.insert(2.0, '            ')            text.insert(2.0, datalist[4])            text.insert(2.0, '            ')            text.insert(2.0, datalist[5])            text.insert(2.0, '              ')            text.insert(2.0,                        '                                                                                                    ')        text.insert(2.0,                    '|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')    except:        db.rollback()    db.close()    #初始化加载所有数据def selfdata(sql):    text.delete(0.0,1000.0)    db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8')    cursor = db.cursor()    try:        cursor.execute(sql)        results = cursor.fetchall()        text.insert(1.0, u'|序号 ◆    |         用户姓名 ◆   |              电话◆   |          所在部门 ◆    |       用户岗位 ◆   |        城市◆   |         用户状态 ◆   |                                                                                                     '  )                        for i in range(len(results)):            text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')            text.insert(2.0,'| ')            text.insert(2.0,i+1)                        if 0 <= i < 9:                text.insert(2.0, '         |  ')            elif 9<= i <99:                text.insert(2.0, '        |  ')            elif 99<= i <999:                text.insert(2.0, '       |  ')            datalist = results[i]                                    text.insert(2.0,datalist[0])            if len(datalist[0]) <= 20:                zhongwen = re.compile(u'[\u4e00-\u9fa5]+')                match = zhongwen.search(datalist[0])                if match:                    text.insert(2.0,' '*(20-len(datalist[0])*2))                else:                    text.insert(2.0,' '*(20-len(datalist[0])))            text.insert(2.0,'              ')                                text.insert(2.0,datalist[1])            text.insert(2.0,'            ')                        text.insert(2.0,datalist[2])            if len(datalist[2]) == 2:                text.insert(2.0,'  ')            text.insert(2.0,'                ')                            text.insert(2.0,datalist[3])            if len(datalist[3]) == 2:                text.insert(2.0,'      ')            text.insert(2.0,'            ')                            text.insert(2.0,datalist[4])            text.insert(2.0,'            ')                        text.insert(2.0,datalist[5])            text.insert(2.0,'              ')                        text.insert(2.0,'                                                                                                    ')        text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')                       except:        db.rollback()    db.close()    def chuli(data):    if len(data) == 6:        tmp = [val for val in data[0] if val in data[1]]        tmp1 = [val for val in data[2] if val in data[3]]        tmp2 =[val for val in data[4] if val in data[5]]        tmp3 =[val for val in tmp1 if val in tmp]        tmp4 =[val for val in tmp3 if val in tmp2]        return tmp4    elif len(data) == 5:        tmp = [val for val in data[0] if val in data[1]]        tmp1 = [val for val in data[2] if val in data[3]]        tmp2 =[val for val in data[4] if val in tmp]        tmp3 = [val for val in tmp2 if val in tmp1]        return tmp3    elif len(data) == 4:        tmp = [val for val in data[0] if val in data[1]]        tmp1 = [val for val in data[2] if val in data[3]]        tmp2 = [val for val in tmp if val in tmp1]        return tmp2    elif len(data) == 3:        tmp = [val for val in data[0] if val in data[1]]        tmp1 = [val for val in data[2] if val in tmp]        return tmp1    elif len(data) == 2:        tmp = [val for val in data[0] if val in data[1]]        return tmp    elif len(data) == 1:        data1=[]        for i in range(len(data[0])):            data1.append(data[0][i])        return data1           def soso():    text.delete(0.0, 1000.0)    NAme = entry_01.get().lstrip()    PHone = entry_02.get().lstrip()    DEpartment = combobox_04.get().lstrip()    POst = combobox_05.get().lstrip()    CIty = combobox_03.get().lstrip()    STatus = combobox_06.get().lstrip()        if len(NAme) == 0:        sql1= None#"select Name, Phone, Department,Post,City,Status from user "    else:        sql1="select Name, Phone, Department,Post,City,Status from user  where name like '%%%s%%'" % NAme                    if len(PHone) == 0:        sql2 =None# "select Name, Phone, Department,Post,City,Status from user "    else :        sql2="select Name, Phone, Department,Post,City,Status from user  where phone like '%%%s%%'" % PHone            if  CIty == '不限':        sql3=None    else:        sql3="select Name, Phone, Department,Post,City,Status from user  where city = '%s'" % CIty            if DEpartment == '不限':        sql4=None    else:        sql4="select Name, Phone, Department,Post,City,Status from user  where department= '%s'" % DEpartment            if POst == "不限":        sql5 =None    else:        sql5="select Name, Phone, Department,Post,City,Status from user  where Post = '%s'" % POst            if STatus == "不限":        sql6=None    else:        sql6="select Name, Phone, Department,Post,City,Status from user  where status = '%s'" % STatus    sqldata=[sql1,sql2,sql3,sql4,sql5,sql6]        resultes=[]        for i in range(6):        Sql=sqldata[i]        db = pymysql.connect("localhost", "root", "long268244", 'erp_use', charset='utf8')        cursor = db.cursor()        try:            cursor.execute(Sql)            results = cursor.fetchall()            resultes.append(results)        except:            db.rollback()        db.close()    chulidata=chuli(resultes)    if chulidata==None:        text.delete(0.0,1000.0)        db = pymysql.connect("localhost", "root", "long268244", 'erp_use',charset='utf8')        sql ='select Name, Phone, Department,Post,City,Status from user '        cursor = db.cursor()        try:            cursor.execute(sql)            results = cursor.fetchall()            text.insert(1.0, u'|序号 ◆    |         用户姓名 ◆   |              电话◆   |          所在部门 ◆    |       用户岗位 ◆   |        城市◆   |         用户状态 ◆   |                                                                                                     '  )                            for i in range(len(results)):                text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')                text.insert(2.0,'| ')                text.insert(2.0,i+1)                            if 0 <= i < 9:                    text.insert(2.0, '         |  ')                elif 9<= i <99:                    text.insert(2.0, '        |  ')                elif 99<= i <999:                    text.insert(2.0, '       |  ')                datalist = results[i]                                        text.insert(2.0,datalist[0])                if len(datalist[0]) <= 20:                    zhongwen = re.compile(u'[\u4e00-\u9fa5]+')                    match = zhongwen.search(datalist[0])                    if match:                        text.insert(2.0,' '*(20-len(datalist[0])*2))                    else:                        text.insert(2.0,' '*(20-len(datalist[0])))                    text.insert(2.0,'              ')                                    text.insert(2.0,datalist[1])                text.insert(2.0,'            ')                            text.insert(2.0,datalist[2])                if len(datalist[2]) == 2:                    text.insert(2.0,'  ')                text.insert(2.0,'                ')                                text.insert(2.0,datalist[3])                if len(datalist[3]) == 2:                    text.insert(2.0,'      ')                text.insert(2.0,'            ')                                text.insert(2.0,datalist[4])                text.insert(2.0,'            ')                            text.insert(2.0,datalist[5])                text.insert(2.0,'              ')                            text.insert(2.0,'                                                                                                    ')            text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')                           except:            db.rollback()        db.close()       else:        text.delete(0.0, 10000.0)        text.insert(1.0,                        u'|序号 ◆    |         用户姓名 ◆   |              电话◆   |          所在部门 ◆    |       用户岗位 ◆   |        城市◆   |         用户状态 ◆   |                                                                                                     ')        for i in range(len(chulidata)):                      text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')            text.insert(2.0, '| ')            text.insert(2.0, i + 1)                        if 0 <= i < 9:                text.insert(2.0, '         |  ')            elif 9<= i <99:                text.insert(2.0, '        |  ')            elif 99<= i <999:                text.insert(2.0, '       |  ')                            datalist = chulidata[i]                        text.insert(2.0, datalist[0])            if len(datalist[0]) <= 20:                zhongwen = re.compile(u'[\u4e00-\u9fa5]+')                match = zhongwen.search(datalist[0])                if match:                    text.insert(2.0, ' ' * (20 - len(datalist[0]) * 2))                else:                    text.insert(2.0, ' ' * (20 - len(datalist[0])))            text.insert(2.0, '              ')            text.insert(2.0, datalist[1])            text.insert(2.0, '            ')            text.insert(2.0, datalist[2])            if len(datalist[2]) == 2:                text.insert(2.0, '  ')            text.insert(2.0, '                ')            text.insert(2.0, datalist[3])            if len(datalist[3]) == 2:                text.insert(2.0, '      ')            text.insert(2.0, '            ')            text.insert(2.0, datalist[4])            text.insert(2.0, '            ')            text.insert(2.0, datalist[5])            text.insert(2.0, '              ')            text.insert(2.0,                            '                                                                                                    ')        text.insert(2.0,'|___________|_______________________|_______________________|_________________________|_____________________|_________________|_______________________|                                                                                                     ')button_01 = ttk.Button(labelframe,text='修改',command = xiuUse)button_01.grid(row=2, column=2)button_01 = ttk.Button(labelframe,text='搜索',command = soso)button_01.grid(row=2, column=13)button_02 = ttk.Button(labelframe,text='重置',command=listdisplay)button_02.grid(row=2, column=14)label=Label(root)label.grid(row=99, column=100)button_02 = ttk.Button(root,command=selfdata('select Name, Phone, Department,Post,City,Status from user '))button_02.grid(row=100, column=100)button_01 = ttk.Button(labelframe,text='新增',command=addUse)button_01.grid(row=2, column=1)mainloop()
原创粉丝点击