本文将介绍如何使用Python实现职工管理系统的图形化界面,并针对系统的添加、删除、查询、修改等功能进行详细阐述。
一、系统概述
职工管理系统是一种用于管理公司职工信息的计算机应用软件。其主要功能包括添加、删除、查询和修改职工信息,可以帮助公司高效地管理职工信息,并提高工作效率。图形化界面可以提供更方便、直观的操作界面,使用户更容易上手使用。
二、系统架构
本系统的架构主要分为三层:界面层、逻辑层和数据层。界面层负责展示用户图形化界面,逻辑层负责实现系统的各种功能,数据层负责管理职工信息的数据。
其中,界面层采用Python自带的Tkinter库来实现,逻辑层主要由Python语言实现,数据层采用Python自带的sqlite3库实现。
三、系统功能
1、添加职工信息
在系统中,用户可以通过点击“添加职工”按钮,进入到添加职工信息的页面。用户需要输入职工的姓名、性别、年龄、职位、工资等信息,并点击“确认”按钮来完成数据的添加。
import tkinter as tk import sqlite3 class AddFrame: # 初始化界面 def __init__(self, master): self.master = master self.master.geometry('400x300') self.master.title('添加职工信息') # 创建标签和输入框 tk.Label(self.master, text='姓名:').place(x=50, y=50) self.name_entry = tk.Entry(self.master) self.name_entry.place(x=100, y=50) tk.Label(self.master, text='性别:').place(x=50, y=80) self.gender_entry = tk.Entry(self.master) self.gender_entry.place(x=100, y=80) tk.Label(self.master, text='年龄:').place(x=50, y=110) self.age_entry = tk.Entry(self.master) self.age_entry.place(x=100, y=110) tk.Label(self.master, text='职位:').place(x=50, y=140) self.job_entry = tk.Entry(self.master) self.job_entry.place(x=100, y=140) tk.Label(self.master, text='工资:').place(x=50, y=170) self.salary_entry = tk.Entry(self.master) self.salary_entry.place(x=100, y=170) # 创建确认和取消按钮 tk.Button(self.master, text='确认', command=self.add_employee).place(x=120, y=220) tk.Button(self.master, text='取消', command=self.master.destroy).place(x=220, y=220) # 添加职工信息 def add_employee(self): name = self.name_entry.get() gender = self.gender_entry.get() age = self.age_entry.get() job = self.job_entry.get() salary = self.salary_entry.get() # 连接数据库 conn = sqlite3.connect('employee.db') cursor = conn.cursor() # 执行SQL语句 cursor.execute('INSERT INTO employee (name, gender, age, job, salary) VALUES (?, ?, ?, ?, ?)', (name, gender, age, job, salary)) # 提交事务 conn.commit() # 关闭数据库连接 cursor.close() conn.close() # 提示用户添加成功 tk.messagebox.showinfo(title='提示', message='添加职工信息成功!') # 清空输入框 self.name_entry.delete(0, tk.END) self.gender_entry.delete(0, tk.END) self.age_entry.delete(0, tk.END) self.job_entry.delete(0, tk.END) self.salary_entry.delete(0, tk.END)
2、删除职工信息
在系统中,用户可以通过点击“删除职工”按钮,进入到删除职工信息的页面。用户需要输入要删除的职工ID,并点击“确认”按钮来完成数据的删除。
class DeleteFrame: # 初始化界面 def __init__(self, master): self.master = master self.master.geometry('400x150') self.master.title('删除职工信息') # 创建标签和输入框 tk.Label(self.master, text='职工ID:').place(x=50, y=50) self.emp_id_entry = tk.Entry(self.master) self.emp_id_entry.place(x=120, y=50) # 创建确认和取消按钮 tk.Button(self.master, text='确认', command=self.delete_employee).place(x=120, y=90) tk.Button(self.master, text='取消', command=self.master.destroy).place(x=220, y=90) # 删除职工信息 def delete_employee(self): emp_id = self.emp_id_entry.get() # 连接数据库 conn = sqlite3.connect('employee.db') cursor = conn.cursor() # 执行SQL语句 cursor.execute('DELETE FROM employee WHERE id=?', (emp_id,)) # 提交事务 conn.commit() # 关闭数据库连接 cursor.close() conn.close() # 提示用户删除成功 tk.messagebox.showinfo(title='提示', message='删除职工信息成功!') # 清空输入框 self.emp_id_entry.delete(0, tk.END)
3、查询职工信息
在系统中,用户可以通过点击“查询职工”按钮,进入到查询职工信息的页面。用户可以通过职工ID、职工姓名等条件来查询职工信息,并在表格中展示查询结果。
class QueryFrame: # 初始化界面 def __init__(self, master): self.master = master self.master.geometry('600x400') self.master.title('查询职工信息') # 创建标签和输入框 tk.Label(self.master, text='职工ID:').place(x=50, y=50) self.emp_id_entry = tk.Entry(self.master) self.emp_id_entry.place(x=120, y=50) tk.Label(self.master, text='职工姓名:').place(x=250, y=50) self.emp_name_entry = tk.Entry(self.master) self.emp_name_entry.place(x=340, y=50) # 创建查询按钮 tk.Button(self.master, text='查询', command=self.query_employee).place(x=500, y=45) # 创建表格 self.tree = ttk.Treeview(self.master, columns=('ID', '姓名', '性别', '年龄', '职位', '工资'), show='headings') self.tree.column('ID', width=80) self.tree.column('姓名', width=100) self.tree.column('性别', width=80) self.tree.column('年龄', width=80) self.tree.column('职位', width=100) self.tree.column('工资', width=80) self.tree.heading('ID', text='ID') self.tree.heading('姓名', text='姓名') self.tree.heading('性别', text='性别') self.tree.heading('年龄', text='年龄') self.tree.heading('职位', text='职位') self.tree.heading('工资', text='工资') self.tree.place(x=50, y=100) # 查询职工信息 def query_employee(self): emp_id = self.emp_id_entry.get() emp_name = self.emp_name_entry.get() # 连接数据库 conn = sqlite3.connect('employee.db') cursor = conn.cursor() # 执行SQL语句 if emp_id: cursor.execute('SELECT * FROM employee WHERE id=?', (emp_id,)) elif emp_name: cursor.execute('SELECT * FROM employee WHERE name=?', (emp_name,)) else: cursor.execute('SELECT * FROM employee') # 获取查询结果 results = cursor.fetchall() # 清空表格 for item in self.tree.get_children(): self.tree.delete(item) # 填充表格 if results: for row in results: self.tree.insert('', tk.END, values=row) # 关闭数据库连接 cursor.close() conn.close()
4、修改职工信息
在系统中,用户可以通过点击“修改职工”按钮,进入到修改职工信息的页面。用户需要输入要修改的职工ID,并可以修改职工的姓名、性别、年龄、职位、工资等信息,并点击“确认”按钮来完成数据的修改。
class ModifyFrame: # 初始化界面 def __init__(self, master): self.master = master self.master.geometry('400x300') self.master.title('修改职工信息') # 创建标签和输入框 tk.Label(self.master, text='职工ID:').place(x=50, y=50) self.emp_id_entry = tk.Entry(self.master) self.emp_id_entry.place(x=120, y=50) tk.Label(self.master, text='姓名:').place(x=50, y=80) self.name_entry = tk.Entry(self.master) self.name_entry.place(x=100, y=80) tk.Label(self.master, text='性别:').place(x=50, y=110) self.gender_entry = tk.Entry(self.master) self.gender_entry.place(x=100, y=110) tk.Label(self.master, text='年龄:').place(x=50, y=140) self.age_entry = tk.Entry(self.master) self.age_entry.place(x=100, y=140) tk.Label(self.master, text='职位:').place(x=50, y=170) self.job_entry = tk.Entry(self.master) self.job_entry.place(x=100, y=170) tk.Label(self.master, text='工资:').place(x=50, y=200) self.salary_entry = tk.Entry(self.master) self.salary_entry.place(x=100, y=200) # 创建确认和取消按钮 tk.Button(self.master, text='确认', command=self.modify_employee).place(x=120, y=250) tk.Button(self.master, text='取消', command=self.master.destroy).place(x=220, y=250) # 修改职工信息 def modify_employee(self): emp_id = self.emp_id_entry.get() name = self.name_entry.get() gender = self.gender_entry.get() age = self.age_entry.get() job = self.job_entry.get() salary = self.salary_entry.get() # 连接数据库 conn = sqlite3.connect('employee.db') cursor = conn.cursor() # 执行SQL语句 cursor.execute('UPDATE employee SET name=?, gender=?, age=?, job=?, salary=? WHERE id=?', (name, gender, age, job, salary, emp_id)) # 提交事务 conn.commit() # 关闭数据库连接 cursor.close() conn.close() # 提示用户修改成功 tk.messagebox.showinfo(title='提示', message='修改职工信息成功!') # 清空输入框 self.emp_id_entry.delete(0, tk.END) self.name_entry.delete(0, tk.END) self.gender_entry.delete(0, tk.END) self.age_entry.delete(0, tk.END) self.job_entry.delete(0, tk.END) self.salary_entry.delete(0, tk.END)
四、总结
以上便是Python职工管理系统的图形化实现方式。通过界面层、逻辑层、数据层的三层架构,我们可以实现职工信息的添加、删除、查询和修改等功能,并通过图形化界面使用户更加方便、直观地管理职工信息。希望本文能对初学Python的读者有所帮助。
本文链接:https://my.lmcjl.com/post/10904.html
4 评论