|
|
from tkinter import *
|
|
|
from views import ChangeFrame, DeleteFrame, InsertFrame, SearchFrame, HelpFrame
|
|
|
import mysql_internes
|
|
|
import keyboard
|
|
|
|
|
|
|
|
|
# 主页面的实现
|
|
|
class MianPage:
|
|
|
def __init__(self, master):
|
|
|
self.root = master
|
|
|
self.root.title('实习生信息管理系统')
|
|
|
self.root.geometry('570x290')
|
|
|
self.create_page()
|
|
|
|
|
|
# 创建页面,通过menu组件创建菜单
|
|
|
def create_page(self):
|
|
|
self.insert_frame = InsertFrame(self.root)
|
|
|
self.search_frame = SearchFrame(self.root)
|
|
|
self.delete_frame = DeleteFrame(self.root)
|
|
|
self.change_frame = ChangeFrame(self.root)
|
|
|
self.help_frame = HelpFrame(self.root)
|
|
|
|
|
|
menubar = Menu(self.root, tearoff=False)
|
|
|
|
|
|
# 对于菜单按钮的一个实现
|
|
|
# 第一个大按钮录入
|
|
|
menubar.add_command(label=' 录 入 ', command=self.show_insert)
|
|
|
|
|
|
# 第二部分查询按钮,实现最复杂的一部分
|
|
|
submenu_search = Menu(menubar)
|
|
|
# 实现降序, 快捷键为ctrl + j
|
|
|
submenu_search.add_command(label = '降 序', command=self.show_search_sort_down,accelerator="Ctrl + J")
|
|
|
# 分割降序和其他部分,降序是是否选,下面的是多选一,默认为选择工号
|
|
|
submenu_search.add_separator()
|
|
|
submenu_search.add_command(label='工 号', command=self.show_search_id, accelerator="Ctrl + D")
|
|
|
submenu_search.add_command(label='性 别', command=self.show_search_sex,accelerator="Ctrl + M")
|
|
|
submenu_search.add_command(label='薪 资', command=self.show_search_wages, accelerator="Ctrl + E")
|
|
|
submenu_search.add_command(label='入职时间', command=self.show_search_hiredata, accelerator="Ctrl + S")
|
|
|
|
|
|
# 实现快捷键
|
|
|
keyboard.add_hotkey('ctrl+j', self.show_search_sort_down) # 降序快捷键ctrl+j
|
|
|
keyboard.add_hotkey('ctrl+d', self.show_search_id) # 工号快捷键ctrl+d
|
|
|
keyboard.add_hotkey('ctrl+m', self.show_search_sex) # 性别快捷键ctrl+m
|
|
|
keyboard.add_hotkey('ctrl+e', self.show_search_wages) # 薪资快捷键ctrl+e
|
|
|
keyboard.add_hotkey('ctrl+s', self.show_search_hiredata) # 入职时间快捷键ctrl+s
|
|
|
|
|
|
#实现剩下的主菜单栏
|
|
|
menubar.add_cascade(label=' 查 询 ', menu = submenu_search)
|
|
|
menubar.add_command(label=' 删 除 ', command=self.show_delete)
|
|
|
menubar.add_command(label=' 修 改 ', command=self.show_change)
|
|
|
menubar.add_command(label=' 帮 助 ', command=self.show_help)
|
|
|
self.root.config(menu = menubar)
|
|
|
|
|
|
def xShowMenu(event):
|
|
|
menubar.post(event.x_root, event.y_root) # #将菜单条绑定上事件,坐标为x和y的root位置
|
|
|
|
|
|
self.root.bind("<Button-3>", xShowMenu) # #设定鼠标右键触发事件,调用xShowMenu方法
|
|
|
|
|
|
self.show_insert()
|
|
|
|
|
|
|
|
|
# 升或降序排列的值由mysql.interne.sort_interne 的值来决定,每点击一次就异或上一改变其值
|
|
|
def show_search_sort_down(self):
|
|
|
mysql_internes.sort_interne ^= 1
|
|
|
self.show_search()
|
|
|
|
|
|
# 下面都是剩下几种排序的实现
|
|
|
def show_search_id(self):
|
|
|
mysql_internes.sort_data = 0
|
|
|
self.show_search()
|
|
|
def show_search_sex(self):
|
|
|
mysql_internes.sort_data = 1
|
|
|
self.show_search()
|
|
|
def show_search_wages(self):
|
|
|
mysql_internes.sort_data = 2
|
|
|
self.show_search()
|
|
|
def show_search_hiredata(self):
|
|
|
mysql_internes.sort_data = 3
|
|
|
self.show_search()
|
|
|
|
|
|
# 创建某一个页面需要把前面页面留下的东西给pack_forget()来清空一下,然后在实现功能
|
|
|
def show_insert(self):
|
|
|
self.insert_frame.pack()
|
|
|
self.search_frame.pack_forget()
|
|
|
self.delete_frame.pack_forget()
|
|
|
self.change_frame.pack_forget()
|
|
|
self.help_frame.pack_forget()
|
|
|
|
|
|
def show_search(self):
|
|
|
self.insert_frame.pack_forget()
|
|
|
self.delete_frame.pack_forget()
|
|
|
self.change_frame.pack_forget()
|
|
|
self.help_frame.pack_forget()
|
|
|
self.search_frame.pack()
|
|
|
self.search_frame.show_search_data()
|
|
|
|
|
|
def show_delete(self):
|
|
|
self.delete_frame.pack()
|
|
|
self.insert_frame.pack_forget()
|
|
|
self.search_frame.pack_forget()
|
|
|
self.change_frame.pack_forget()
|
|
|
self.help_frame.pack_forget()
|
|
|
|
|
|
def show_change(self):
|
|
|
self.change_frame.pack()
|
|
|
self.insert_frame.pack_forget()
|
|
|
self.search_frame.pack_forget()
|
|
|
self.delete_frame.pack_forget()
|
|
|
self.help_frame.pack_forget()
|
|
|
def show_help(self):
|
|
|
self.change_frame.pack_forget()
|
|
|
self.insert_frame.pack_forget()
|
|
|
self.search_frame.pack_forget()
|
|
|
self.delete_frame.pack_forget()
|
|
|
self.help_frame.pack()
|
|
|
|