使用 Python Tkinter 和 MySQL 创建数据管理系统

本教程将指导您使用 Python 的 Tkinter 库和 MySQL 数据库创建简单的数据管理系统,用于管理警察信息、工资和职位数据。

步骤:

  1. 安装必要库:

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, PASSWORDDATABASE 的值。
  • 使用 tkinterEntry 控件获取用户输入时,需要使用 get() 方法获取输入值。
  • 在创建表格页面时,可以参考 tkinter 文档中关于表格控件(ttk.Treeview)和按钮控件的使用方法。
  • 可以使用 ORM 框架(如 SQLAlchemy)来简化数据库操作。
  • 可以使用 tkinter 的其他控件(如下拉框、日期选择器等)来丰富用户界面。

下一步:

  • 实现每个表格页面的增删改查功能。
  • 根据需要添加其他功能,例如导出数据、导入数据等。
  • 设计更友好的用户界面。

希望这篇文章能帮助您开始使用 Python 和 MySQL 创建数据管理系统!

Python Tkinter + MySQL: 构建数据管理系统 (警察信息、工资、职位)

原文地址: https://www.cveoy.top/t/topic/odZz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录