iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python+Tkinter如何实现注册登录功能
  • 830
分享到

Python+Tkinter如何实现注册登录功能

2023-06-29 02:06:42 830人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章给大家分享的是有关python+Tkinter如何实现注册登录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下项目结构:源代码:# -*- coding: ut

这篇文章给大家分享的是有关python+Tkinter如何实现注册登录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

Python+Tkinter如何实现注册登录功能

Python+Tkinter如何实现注册登录功能

Python+Tkinter如何实现注册登录功能

Python+Tkinter如何实现注册登录功能

项目结构:

Python+Tkinter如何实现注册登录功能

源代码:

# -*- coding: utf-8 -*-"""@date:  2022/01/09 17:40@author: Anker@Python:v3.10""" import tkinter as tkimport tkinter.messageboximport pymysql # 定义要执行的创建表的sql语句test_sql = """                CREATE TABLE IF NOT EXISTS user(                id INT auto_increment PRIMARY KEY,                name varchar(20) not null,                passWord varchar(20) not null                )ENGINE=innodb DEFAULT CHARSET=utf8;           """ # 登录窗口window = tk.Tk()window.title('学生考试系统')window.geometry('800x500') # 登录背景图片canvas = tk.Canvas(window, height=1920, width=1080)login_background = tk.PhotoImage(file='./view.png')login_image = canvas.create_image(0, 0, anchor='nw', image=login_background)canvas.pack(side='top') # 用户名密码标签tk.Label(window, text='用户名:', bg='yellow').place(x=300, y=200)tk.Label(window, text='密   码:', bg='yellow').place(x=300, y=250) # 用户名输入框var_user_name = tk.StringVar()entry_user_name = tk.Entry(window, textvariable=var_user_name)entry_user_name.place(x=370, y=200) # 密码输入框var_user_pwd = tk.StringVar()entry_user_pwd = tk.Entry(window, textvariable=var_user_pwd, show='*')entry_user_pwd.place(x=370, y=250)  # 登录函数def user_login():    # 输入框获取用户名密码    user_name = var_user_name.get()    user_password = var_user_pwd.get()    # 连接test_sql数据库    conn = pyMysql.connect(host="localhost", user="root", password="123456", database="test_sql", charset="utf8")    curs = conn.cursor()    # 执行SQL语句,创建user数据表    curs.execute(test_sql)    # 执行SQL语句,从user数据表中查询name和password字段值    curs.execute("SELECT name,password FROM user")    # 将数据库查询的结果保存在result中    result = curs.fetchall()    # fetchone()函数它的返回值是单个的元组, 也就是一行记录, 如果没有结果, 那就会返回null    # fetchall()函数它的返回值是多个元组, 即返回多个行记录, 如果没有结果, 返回的是()    # assert result, "数据库无该用户信息"   # 添加断言,判断数据库有无该用户信息,没有就直接断言错误     # 登录账号操作    name_list = [it[0] for it in result]    # 从数据库查询的result中遍历查询元组中第一个元素name    # 判断用户名或密码不能为空    if not(user_name and user_password):        tk.messagebox.showwarning(title='警告', message='用户名或密码不能为空')    # 判断用户名和密码是否匹配    elif user_name in name_list:        if user_password == result[name_list.index(user_name)][1]:            tk.messagebox.showinfo(title='欢迎您', message='       登录成功!\r\n当前登录账号为:' + user_name)            selection()        else:            tk.messagebox.showerror(title='错误', message='密码输入错误')    # 账号不在数据库中,则弹出是否注册的框    else:        is_signup = tk.messagebox.askyesno(title='提示', message='该账号不存在,是否现在注册?')        if is_signup:            user_reGISter()  # 注册函数def user_register():    # 确认注册函数    def register_confirm():        # 获取输入框内的内容        name = new_name.get()        password = new_password.get()        password_confirm = new_password_confirm.get()        # 先在本地手动创建一个test_sql数据库,然后连接该数据库        conn = pymysql.connect(host="localhost", user="root", password="123456", database="test_sql", charset="utf8")        curs = conn.cursor()         # 注册账号操作        try:            # 执行SQL语句,创建user数据表            curs.execute(test_sql)            # 向user数据表中插入语句            insert_sql = "INSERT INTO user(name, password) VALUES ('%s', '%s')" % (name, password)            # 读取user数据表中的name和password字段值            read_sql = f'''select * from user where name = "{name}" and password = "{password}" '''            user_data = curs.execute(read_sql)            # 判断注册账号和密码            if not (name and password):                tk.messagebox.showwarning(title='警告', message='注册账号或密码不能为空')            elif password != password_confirm:                tk.messagebox.showwarning(title='警告', message='两次密码输入不一致,请重新输入')            else:                if user_data.real:                    tk.messagebox.showwarning(title='警告', message='该注册账号已存在')                else:                    curs.execute(insert_sql)                    tk.messagebox.showinfo(title='恭喜您', message='      注册成功!\r\n注册账号为:' + name)                    print("数据插入成功")            # 提交到数据库执行            conn.commit()            curs.close()        except IOError:            print("数据插入失败")            conn.rollback()        # 关闭数据库连接        conn.close()        window_sign_up.destroy()     # 注册窗口    window_sign_up = tk.Toplevel(window)    window_sign_up.geometry('350x200')    window_sign_up.title('欢迎注册')     # 注册账号及标签、输入框    new_name = tk.StringVar()    tk.Label(window_sign_up, bg='green', text='注册账号:').place(x=50, y=10)    tk.Entry(window_sign_up, textvariable=new_name).place(x=150, y=10)     # 注册密码及标签、输入框    new_password = tk.StringVar()    tk.Label(window_sign_up, bg='green', text='密      码:').place(x=50, y=50)    tk.Entry(window_sign_up, textvariable=new_password, show='*').place(x=150, y=50)     # 重复密码及标签、输入框    new_password_confirm = tk.StringVar()    tk.Label(window_sign_up, bg='green', text='确认密码:').place(x=50, y=90)    tk.Entry(window_sign_up, textvariable=new_password_confirm, show='*').place(x=150, y=90)     # 确认注册按钮及位置    bt_confirm_sign_up = tk.Button(window_sign_up, bg='green', text='确认注册', command=register_confirm)    bt_confirm_sign_up.place(x=150, y=130)  # 选择题函数def selection():     def wrong():        tk.messagebox.showerror(title='错误', message='抱歉,您答错了')     def right():        tk.messagebox.showinfo(title='提示', message='恭喜您,答对了')     # 选择题窗口    window_options = tk.Toplevel(window)    window_options.geometry('350x200')    window_options.title('选择题')    # 在图形界面上创建一个标签label用以显示并放置    var = tk.StringVar()  # 定义一个var用来将radiobutton的值和Label的值联系在一起.    lab = tk.Label(window_options, bg='red', fg='white', width=50)    lab.pack()    lab.config(text='第1题:两个锐角均为60度的三角形是什么三角形()' + var.get())    # 创建3个radiobutton选项,其中variable=var, value='A'表示:当鼠标选中其中一个选项,把value的值A放到变量var中,然后赋值给variable    radio1 = tk.Radiobutton(window_options, text='A:锐角三角形', variable=var, value='A', command=wrong)    radio1.pack()    radio2 = tk.Radiobutton(window_options, text='B:钝角三角形', variable=var, value='B', command=wrong)    radio2.pack()    radio3 = tk.Radiobutton(window_options, text='C:等边三角形', variable=var, value='C', command=right)    radio3.pack()    radio4 = tk.Radiobutton(window_options, text='D:直角三角形', variable=var, value='D', command=wrong)    radio4.pack()  # 注册和登录按钮bt_register = tk.Button(window, bg='yellow', text='注册', command=user_register)bt_register.place(x=380, y=300)bt_login = tk.Button(window, bg='yellow', text='登录', command=user_login)bt_login.place(x=440, y=300) # 主循环window.mainloop()

感谢各位的阅读!关于“Python+Tkinter如何实现注册登录功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Python+Tkinter如何实现注册登录功能

本文链接: https://www.lsjlt.com/news/322056.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python+Tkinter如何实现注册登录功能
    这篇文章给大家分享的是有关Python+Tkinter如何实现注册登录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下项目结构:源代码:# -*- coding: ut...
    99+
    2023-06-29
  • Python+Tkinter简单实现注册登录功能
    本文实例为大家分享了Python+Tkinter简单实现注册登录功能的具体代码,供大家参考,具体内容如下 项目结构: 源代码: # -*- coding: utf-8 -*...
    99+
    2024-04-02
  • Python如何实现注册登录功能
    这篇文章给大家分享的是有关Python如何实现注册登录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用...
    99+
    2023-06-29
  • Python实现注册登录功能
    用Python写个注册登录功能,供大家参考,具体内容如下 本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用到的第3方库模块是time模...
    99+
    2024-04-02
  • python实现登录与注册功能
    本文实例为大家分享了python实现登录与注册的具体代码,供大家参考,具体内容如下 1. 案例介绍 本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、...
    99+
    2024-04-02
  • java注册登录功能如何实现
    Java注册登录功能可以通过以下步骤来实现:1. 创建数据库表:- 创建一个用户表,包括用户ID(主键),用户名,密码等字段。2. ...
    99+
    2023-08-11
    java
  • android登录注册功能如何实现
    要实现Android的登录注册功能,你可以按照以下步骤进行操作:1. 创建一个布局文件来设计登录和注册界面。可以使用EditText...
    99+
    2023-10-20
    android
  • Node.js实现登录注册功能
    本文实例为大家分享了Node.js实现登录注册功能的具体代码,供大家参考,具体内容如下 目录结构 注册页面: reg.html <!DOCTYPE html> <...
    99+
    2024-04-02
  • Android实现登录注册功能
    本文实例为大家分享了Android实现登录注册功能的具体代码,供大家参考,具体内容如下 运行环境 Android Studio 总体效果图 一、 设计注册页面的布局 二、完成注册...
    99+
    2024-04-02
  • node.js如何实现简单登录注册功能
    本文小编为大家详细介绍“node.js如何实现简单登录注册功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js如何实现简单登录注册功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先需要一个sev...
    99+
    2023-06-30
  • Node+Express+MongoDB如何实现登录注册功能
    小编给大家分享一下Node+Express+MongoDB如何实现登录注册功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!注入MongoDB 依赖var mongoose&nb...
    99+
    2024-04-02
  • QT如何实现用户登录注册功能
    这篇文章主要介绍“QT如何实现用户登录注册功能”,在日常操作中,相信很多人在QT如何实现用户登录注册功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”QT如何实现用户登录注册功能”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-02
  • NodeJs+MySQL实现注册登录功能
    本文实例为大家分享了NodeJs+MySQL实现注册登录功能的具体代码,供大家参考,具体内容如下 之前写过一个没有连接数据库的注册与登陆的实现,这次加上了数据库 刚刚接触后端,很多不...
    99+
    2024-04-02
  • 怎么用python实现登录与注册功能
    本篇内容主要讲解“怎么用python实现登录与注册功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python实现登录与注册功能”吧!1. 案例介绍本例设计一个用户登录和注册模块,使用 ...
    99+
    2023-06-26
  • Android如何实现登录界面的注册功能
    今天小编给大家分享一下Android如何实现登录界面的注册功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。注册一个登录界面...
    99+
    2023-06-30
  • node.js实现简单登录注册功能
    本文实例为大家分享了node.js实现简单登录注册的具体代码,供大家参考,具体内容如下 1、首先需要一个sever模块用于引入路由,引入连接数据库的模块,监听服务器2、要有model...
    99+
    2024-04-02
  • Spring MVC+mybatis实现注册登录功能
    本文实例为大家分享了Spring MVC mybatis实现注册登录功能的具体代码,供大家参考,具体内容如下前期准备: 如下图所示,准备好所需要的包 新建工程,导入所需要的包,在web.xml中配置好所需要的,如下<...
    99+
    2023-05-31
    spring mvc mybatis
  • 基于Spring5实现登录注册功能
    本文实例为大家分享了Spring5实现登录注册功能的具体代码,供大家参考,具体内容如下 准备: 根据分析用户注册登录都需要的信息为①username(String)②userid(I...
    99+
    2024-04-02
  • QT实现用户登录注册功能
    本文实例为大家分享了QT实现用户登录注册的具体代码,供大家参考,具体内容如下 1、login.h #ifndef LOGIN_H #define LOGIN_H #include ...
    99+
    2024-04-02
  • java+mysql实现登录和注册功能
    初学JAVA  EE,老师留下一小作业,用JAVA实现与服务器端交互,实现登录和注册功能,初学一种专业课很多老师都会留下一种让学生实现登录和注册的作业。 下面是记录的实现步...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作