总览

  • 前言
  • 主要实现
  • 登录
  • 注册
  • 修改
  • 运行
  • 登录
  • 注册
  • 登录成功
  • 主界面
  • 添加
  • 查询
  • 查询成功
  • 保存信息
  • 信息管理系统v1.1
  • 登录界面
  • 获取账号密码
  • 主界面
  • 查询
  • 查询成功
  • 显示信息
  • 信息管理系统v2.0
  • 登录
  • 主界面
  • 增加
  • 查询
  • 删除
  • 显示
  • 代码获取


前言

本系统主要通过tkinter模块实现,通过读取对应的文件,实现登录注册功能、信息的增删查改功能。

主要实现

登录

def user_lo():
    name = user_name_text.get()
    pwd = user_pwd_text.get()
    user_data = get_data()
    if name != '' and pwd != '':
        if name in user_data.keys():
            if pwd == user_data[name]:
                messagebox.showinfo(title='正确', message='登录成功,欢迎'+name+'的到来')
                # print('登录成功,欢迎'+name+'的到来')
                root.destroy()
            else:
                messagebox.showerror(title='错误', message='您输入的用户密码输入错误')
                # print('您输入的用户密码输入错误')
        else:
            messagebox.showerror(title='错误', message='您输入的用户名不存在')
            # print('您输入的用户名不存在')
    else:
        messagebox.showerror(title='错误', message='输入的账号和密码不能为空')
        # print('输入的账号和密码不能为空'

注册

def pop_root():
    top = Toplevel()
    top.title('注册')
    top.geometry('280x320+500+200')  # 这里直接手动放置位置了
    tk.Label(top, text='账号', font=('FangSong', 14), width=10).grid(row=1, column=0)
    u_name = tk.StringVar()
    u_name_entry = tk.Entry(top, textvariable=u_name, font=('FangSong', 14),  width=15)
    u_name_entry.grid(row=1, column=1)
 
    tk.Label(top, text='密码', font=('FangSong', 14), width=10).grid(row=2, column=0)
    u_pwd = tk.StringVar()
    u_pwd_entry = tk.Entry(top, textvariable=u_pwd, font=('FangSong', 14), width=15)
    u_pwd_entry.grid(row=2, column=1)
 
    tk.Label(top, text='确认密码', font=('FangSong', 14), width=10).grid(row=3, column=0)
    u_ppwd = tk.StringVar()
    u_ppwd_entry = tk.Entry(top, textvariable=u_ppwd, font=('FangSong', 14), width=15)
    u_ppwd_entry.grid(row=3, column=1)
 
    def res_set():
        name = u_name.get()
        pwd = u_pwd.get()
        ppwd = u_ppwd.get()
        users = get_data()
        if pwd == ppwd:
            users[name] = pwd
            with open('users.txt', 'w', encoding='utf-8') as f:
                f.write(str(users))
                f.flush()
                f.close()
                messagebox.showinfo(title='正确', message='注册成功') # messagebox 设置弹窗
                top.destroy()
        else:
            messagebox.showerror('错误', message='两次密码输入不一致')
    tk.Button(top, text='注册', font=('FangSong', 14), width=9, command=res_set).grid(row=4, columnspan=2, pady=20)

修改

def revise_person():
    top = Toplevel()
    top.title('修改个人信息')
    top.geometry('280x320+500+200')  # 这里直接手动放置位置了
    tk.Label(top, text='修改人员的姓名', font=('FangSong', 12), width=15).grid(row=1, column=0)
    u_name = tk.StringVar()
    u_name_entry = tk.Entry(top, textvariable=u_name, font=('FangSong', 14),  width=15)
    u_name_entry.grid(row=1, column=1)
 
    tk.Label(top, text='出生年月', font=('FangSong', 14), width=10).grid(row=2, column=0)
    u_birth = tk.StringVar()
    u_birth_entry = tk.Entry(top, textvariable=u_birth, font=('FangSong', 14), width=15)
    u_birth_entry.grid(row=2, column=1)

    tk.Label(top, text='性别', font=('FangSong', 14), width=10).grid(row=3, column=0)
    u_sex = tk.StringVar()
    u_sex_entry = tk.Entry(top, textvariable=u_sex, font=('FangSong', 14), width=15)
    u_sex_entry.grid(row=3, column=1)

    tk.Label(top, text='自我评价', font=('FangSong', 14), width=10).grid(row=4, column=0)
    u_cont = tk.StringVar()
    u_cont_entry = tk.Entry(top, textvariable=u_cont, font=('FangSong', 14), width=15)
    u_cont_entry.grid(row=4, column=1)
    def res_set():
        name = u_name.get()
        birth = u_birth.get()
        sex = u_sex.get()
        cont = u_cont.get()
        persons = get_person_data()
        if name not in persons.keys():
            messagebox.showinfo(title='修改个人信息', message='人员不存在,直接新增') # messagebox 设置弹窗
        else:
            messagebox.showinfo(title='修改个人信息', message='修改成功') # messagebox 设置弹窗
        persons[name] = (birth, sex, cont)
        with open('persons.txt', 'w', encoding='utf-8') as f:
            f.write(str(persons))
            f.flush()
            f.close()
            top.destroy()

    tk.Button(top, text='确认修改', font=('FangSong', 14), width=9, command=res_set).grid(row=5, columnspan=2, pady=20)

运行

登录

python tkinter输入框 python tkinter showinfo_python

注册

python tkinter输入框 python tkinter showinfo_登录界面_02

登录成功

python tkinter输入框 python tkinter showinfo_python tkinter输入框_03

主界面

python tkinter输入框 python tkinter showinfo_python_04

添加

python tkinter输入框 python tkinter showinfo_tkinter_05

查询

python tkinter输入框 python tkinter showinfo_信息管理系统_06

查询成功

python tkinter输入框 python tkinter showinfo_python tkinter输入框_07

保存信息

python tkinter输入框 python tkinter showinfo_tkinter_08

信息管理系统v1.1

V1.1版本主要是优化功能

登录界面

python tkinter输入框 python tkinter showinfo_登录界面_09

获取账号密码

python tkinter输入框 python tkinter showinfo_信息管理系统_10

主界面

python tkinter输入框 python tkinter showinfo_python_11

查询

python tkinter输入框 python tkinter showinfo_python tkinter输入框_12

查询成功

python tkinter输入框 python tkinter showinfo_登录界面_13

显示信息

python tkinter输入框 python tkinter showinfo_信息管理系统_14

信息管理系统v2.0

V2.0 版本采用类编写,分为三个py文件

登录

python tkinter输入框 python tkinter showinfo_python_15

主界面

python tkinter输入框 python tkinter showinfo_登录界面_16

增加

python tkinter输入框 python tkinter showinfo_tkinter_17

查询

python tkinter输入框 python tkinter showinfo_登录界面_18

删除

python tkinter输入框 python tkinter showinfo_信息管理系统_19


python tkinter输入框 python tkinter showinfo_信息管理系统_20

显示

python tkinter输入框 python tkinter showinfo_tkinter_21