📅  最后修改于: 2023-12-03 15:22:17.185000             🧑  作者: Mango
在 Python 中使用 Tkinter 模块可以轻松地创建用户界面。结合 MySQL 数据库之后,可以创建一个完整的登录页面,使用户能够通过输入正确的用户名和密码成功登录系统。
在开始创建登录页面之前,我们需要安装和配置以下工具:
确保在开始创建登录页面之前安装并配置好以上工具。
首先,导入 Tkinter 和 PyMySQL 模块:
import tkinter as tk
import pymysql
然后,我们需要创建登录页面的窗口,用于获取用户输入的用户名和密码:
# 创建窗口
root = tk.Tk()
root.geometry('400x300')
root.title('MySQL Login')
在窗口中添加标签和文本框,用于获取用户名和密码:
# 添加标签
label_user = tk.Label(root, text='Username')
label_user.pack()
# 添加文本框
entry_user = tk.Entry(root)
entry_user.pack()
# 添加标签
label_pass = tk.Label(root, text='Password')
label_pass.pack()
# 添加文本框
entry_pass = tk.Entry(root, show='*')
entry_pass.pack()
在窗口中添加按钮,用于执行登录的操作:
# 添加按钮
button_login = tk.Button(root, text='Login')
button_login.pack()
接下来,我们需要定义登录操作的函数 login
,该函数将连接到 MySQL 数据库,并在用户输入正确的用户名和密码时显示一条成功的消息,否则显示一条失败的消息:
# 定义登录操作
def login():
# 获取用户名和密码
user = entry_user.get()
password = entry_pass.get()
# 连接到 MySQL 数据库
conn = pymysql.connect(host='localhost', user='root', password='root', database='mydb')
cursor = conn.cursor()
# 查询用户表
sql = f"SELECT COUNT(*) FROM users WHERE username = '{user}' AND password = '{password}'"
cursor.execute(sql)
# 检查用户名和密码是否正确
result = cursor.fetchone()[0]
if result:
label_result.config(text='Login successfully!')
else:
label_result.config(text='Login failed!')
# 关闭连接
cursor.close()
conn.close()
最后,在窗口中添加一个文本标签 label_result
,用于显示登录结果:
# 添加结果标签
label_result = tk.Label(root, text='')
label_result.pack()
# 设置按钮的命令为登录操作函数
button_login.config(command=login)
# 运行窗口
root.mainloop()
import tkinter as tk
import pymysql
# 创建窗口
root = tk.Tk()
root.geometry('400x300')
root.title('MySQL Login')
# 添加标签
label_user = tk.Label(root, text='Username')
label_user.pack()
# 添加文本框
entry_user = tk.Entry(root)
entry_user.pack()
# 添加标签
label_pass = tk.Label(root, text='Password')
label_pass.pack()
# 添加文本框
entry_pass = tk.Entry(root, show='*')
entry_pass.pack()
# 添加按钮
button_login = tk.Button(root, text='Login')
button_login.pack()
# 添加结果标签
label_result = tk.Label(root, text='')
label_result.pack()
# 定义登录操作
def login():
# 获取用户名和密码
user = entry_user.get()
password = entry_pass.get()
# 连接到 MySQL 数据库
conn = pymysql.connect(host='localhost', user='root', password='root', database='mydb')
cursor = conn.cursor()
# 查询用户表
sql = f"SELECT COUNT(*) FROM users WHERE username = '{user}' AND password = '{password}'"
cursor.execute(sql)
# 检查用户名和密码是否正确
result = cursor.fetchone()[0]
if result:
label_result.config(text='Login successfully!')
else:
label_result.config(text='Login failed!')
# 关闭连接
cursor.close()
conn.close()
# 设置按钮的命令为登录操作函数
button_login.config(command=login)
# 运行窗口
root.mainloop()
在 Python 中使用 Tkinter 和 MySQL 驱动程序创建登录页面是一件很容易的事情,它可以为用户提供一个简单,易用和安全的登录方式。通过学习本篇文章,您可以快速了解如何使用 Tkinter 和 PyMySQL 模块创建登录页面,以及如何连接和查询 MySQL 数据库。