python 编写登录界面程序,含数据库。
时间: 2024-03-11 12:49:22 浏览: 21
好的,下面是一个 Python 编写的登录界面程序,包含了数据库的连接和使用。
首先,需要安装 `tkinter` 和 `mysql-connector-python` 两个库,可以使用如下命令进行安装:
```
pip install tkinter mysql-connector-python
```
接着,我们创建一个 `login.py` 文件,代码如下:
```python
import tkinter as tk
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test"
)
# 创建用户表
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE IF NOT EXISTS users (username VARCHAR(255), password VARCHAR(255))")
# 创建登录界面
class LoginWindow:
def __init__(self, master):
self.master = master
master.title("登录")
master.geometry("300x150")
self.label_username = tk.Label(master, text="用户名")
self.label_username.pack()
self.entry_username = tk.Entry(master)
self.entry_username.pack()
self.label_password = tk.Label(master, text="密码")
self.label_password.pack()
self.entry_password = tk.Entry(master, show="*")
self.entry_password.pack()
self.button_login = tk.Button(master, text="登录", command=self.login)
self.button_login.pack()
# 登录验证
def login(self):
username = self.entry_username.get()
password = self.entry_password.get()
mycursor.execute("SELECT * FROM users WHERE username = %s AND password = %s", (username, password))
result = mycursor.fetchone()
if result:
print("登录成功")
else:
print("用户名或密码错误")
# 启动登录界面
root = tk.Tk()
login_window = LoginWindow(root)
root.mainloop()
```
这个程序首先连接了 MySQL 数据库,并创建了一个名为 `users` 的用户表,用于存储用户名和密码。
然后,创建了一个基于 `tkinter` 的登录界面,包含了用户名和密码的输入框,以及一个登录按钮。当用户点击登录按钮时,程序会从数据库中查找是否存在对应的用户名和密码。如果存在,则输出登录成功,否则输出用户名或密码错误。
需要注意的是,这个程序中的数据库连接信息应该根据实际情况进行修改。另外,为了简化代码,这里并没有对用户输入的信息进行任何验证和加密,实际应用中需要考虑到这些安全问题。