首页 > 编程语言 >python GUI:tkinter 信息管理系统——不会长胖的斜杠(浔川python推广部)

python GUI:tkinter 信息管理系统——不会长胖的斜杠(浔川python推广部)

时间:2024-06-20 21:32:38浏览次数:17  
标签:FangSong name python top tk 斜杠 font 推广部 row

总览

前言

本系统主要通过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)

原文链接:https://blog.csdn.net/Dummy_/article/details/125604531

————————————————

                            版权声明:本文为博主转载文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

 

标签:FangSong,name,python,top,tk,斜杠,font,推广部,row
From: https://blog.csdn.net/2401_83104529/article/details/139842976

相关文章

  • python工具系列(亲测有效):在pycharm中复制粘贴时出现ENSP如何处理
    在pycharm中复制粘贴时出现ENSP如何处理在pycharm中复制粘贴时出现ENSP如何处理在pycharm中复制粘贴时出现ENSP如何处理安装nexchatgpt插件之后,生成的代码,如果直接粘贴到pycharm.py文件中,会出现ENSP图样,如下图所示:粘贴到jupyternotebook虽然看不出来,也是不能......
  • 新手小白包会(python) | OpenCV进阶教程,带你踏入计算机视觉领域
    目录一、OpenCV简介1.应用场景2.学习与使用二、OpenCV安装 1.安装2.验证三、OpenCV使用1.边缘检测1)sobel算子(cv2.Sobel()) 2)Scharr算子(cv.Scharr()) 3)laplacian(cv2.Laplacian())4)canny算法(cv.Canny())2.下采样(cv2.pyrDown())3.上采样(cv2.pyrUp())4.拉普拉斯金字塔......
  • 基于python-深度学习的混凝土马路和泥地马路识别-含数据集+pyqt界面
    代码下载:https://download.csdn.net/download/qq_34904125/89434765本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-pyto......
  • 基于python-CNN卷积神经网络的鱼类识别-含数据集+pyqt界面
    代码下载地址:https://download.csdn.net/download/qq_34904125/89434763本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-......
  • 如何用Pyinstaller将python脚本打包成exe文件?
    首先用打开cmd命令管理器下载pyinstallerpipinstallpyinstaller国内镜像源pipinstall-ihttps://pypi.douban.com/simple/pyinstaller#豆瓣源pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplepyinstaller#清华源本来我的文件夹只有一个py文件 需要我......
  • Python基础-类与对象
    1.面向对象的三大特性封装继承多态2.类与对象的理解与封装特性类是事物抽象的集合,对象是事物具象的个体。(类–>实例化–>对象)面向对象编程语言类:一个模板,(人类)—是一个抽象的,没有实体的对象:(eg:张三,李四)属性:(表示这类东西的特征,眼睛,嘴巴,鼻子)方法:(......
  • Python Decimal 高精乘法
    Python的decimal库提供的高精度整数Decimal能执行非常高效的乘法运算。代码示例FFT模板题(P1919【模板】高精度乘法|A*BProblem升级版)AC代码:fromdecimalimportDecimal,setcontext,Contextsetcontext(Context(prec=2000005,Emax=2000005))a=Decimal(in......
  • Python 资源大全中文版
    awesome-python 是vinta发起维护的Python资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由「开源前哨」和「Python开发者」微信公号团队维护更新。本项目的参与者......
  • 用python写——猜数字小游戏2
    importrandomnum=random.randint(1,100)count=0flag=Truewhileflag:guess_num=int(input("请输入你要猜测的数字:"))count+=1ifguess_num==num:print("恭喜你,猜对了")flag=Falseelse:ifguess_n......
  • python基础语法
    目录字面量注释变量标识符运算符字符串扩展数据输入字面量字面量:在代码中,被写出来的固定的值,称之为字面量。python中常用的有6种值(数据)的类型:注释注释:在程序代码中对程序代码进行解释说明的文字。作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可......