Python Tkinter + MySQL: 构建数据管理系统 (警察信息、工资、职位)
使用 Python Tkinter 和 MySQL 创建数据管理系统
本教程将指导您使用 Python 的 Tkinter 库和 MySQL 数据库创建简单的数据管理系统,用于管理警察信息、工资和职位数据。
步骤:
- 安装必要库:
pip install pymysql tkinter
2. **创建 MySQL 数据库表:**
在 MySQL 中创建三个表:
- **police:** 姓名, 身份证号, 性别, 联系电话, 户籍地址, 警衔, 婚姻状况, 民族, 政治面貌
- **salary:** 姓名, 身份证号, 警衔, 基本工资, 公积金, 津贴, 警衔工资, 年龄
- **job:** 姓名, 身份证号, 所属单位, 职务
3. **Python 代码:**
```python
import tkinter as tk
import pymysql
# 数据库连接信息
HOST = 'localhost'
USER = 'your_username'
PASSWORD = 'your_password'
DATABASE = 'your_database_name'
# 登录页面
def login():
username = username_entry.get()
password = password_entry.get()
# 使用 pymysql 连接数据库并验证用户名和密码
try:
conn = pymysql.connect(host=HOST, user=USER, password=PASSWORD, database=DATABASE)
cursor = conn.cursor()
cursor.execute(f'SELECT * FROM users WHERE username='{username}' AND password='{password}'')
result = cursor.fetchone()
if result:
conn.close()
login_window.destroy()
main_window = tk.Tk()
main_window.title('数据管理系统')
# 创建主页面按钮
police_button = tk.Button(main_window, text='警察信息', command=lambda: open_table('police'))
police_button.pack(pady=10)
salary_button = tk.Button(main_window, text='工资信息', command=lambda: open_table('salary'))
salary_button.pack(pady=10)
job_button = tk.Button(main_window, text='职位信息', command=lambda: open_table('job'))
job_button.pack(pady=10)
main_window.mainloop()
else:
error_label.config(text='用户名或密码错误')
except Exception as e:
error_label.config(text=f'连接数据库失败: {e}')
finally:
conn.close()
# 打开表格页面
def open_table(table_name):
# 创建表格页面,实现增删改查功能
pass
# 登录窗口
login_window = tk.Tk()
login_window.title('登录')
username_label = tk.Label(login_window, text='用户名:')
username_label.pack(pady=5)
username_entry = tk.Entry(login_window)
username_entry.pack(pady=5)
password_label = tk.Label(login_window, text='密码:')
password_label.pack(pady=5)
password_entry = tk.Entry(login_window, show='*')
password_entry.pack(pady=5)
login_button = tk.Button(login_window, text='登录', command=login)
login_button.pack(pady=10)
error_label = tk.Label(login_window, text='', fg='red')
error_label.pack(pady=5)
login_window.mainloop()
注意事项:
- 使用
pymysql连接数据库时,需要根据实际情况修改HOST,USER,PASSWORD和DATABASE的值。 - 使用
tkinter的Entry控件获取用户输入时,需要使用get()方法获取输入值。 - 在创建表格页面时,可以参考
tkinter文档中关于表格控件(ttk.Treeview)和按钮控件的使用方法。 - 可以使用 ORM 框架(如
SQLAlchemy)来简化数据库操作。 - 可以使用
tkinter的其他控件(如下拉框、日期选择器等)来丰富用户界面。
下一步:
- 实现每个表格页面的增删改查功能。
- 根据需要添加其他功能,例如导出数据、导入数据等。
- 设计更友好的用户界面。
希望这篇文章能帮助您开始使用 Python 和 MySQL 创建数据管理系统!
原文地址: https://www.cveoy.top/t/topic/odZz 著作权归作者所有。请勿转载和采集!