这个项目会分模块分享,讲一下各个模块中遇到的问题以及运用到的技术
目录
登录注册模块
个人信息模块
部门模块
人事部模块
财务部模块
个人小结
部门模块
部门模块主要功能是显示部门的在职天数,以及状态,这里运行到了Pyqt5一下TableWidget的知识,其他所有部门都一样,还有下放工资条的功能。
for i in range(0,len(self.a_info)):
for j in range(0,len(self.a_info[0])+1):
if j == 5:
self.combox.addItem('正常')
self.combox.addItem('请假')
self.combox.addItem('出差')
self.combox.setCurrentText('正常')
self.tableWidget.setCellWidget(i,j,self.combox)
else:
temp_data = self.a_info[i][j]
data = QtWidgets.QTableWidgetItem(str(temp_data))
self.tableWidget.setItem(i,j,data)
self.tableWidget.item(i,j).setTextAlignment(Qt.AlignHCenter|Qt.AlignVCenter)
self.combox = QtWidgets.QComboBox()
TableWidget 显示信息,在最后一列添加Combox,用查询出来的元组的长度最为行,元组里的元组长度作为列。
class Bwindow(QtWidgets.QMainWindow,Ui_department_B):
def __init__(self):
super(Bwindow,self).__init__()
self.setupUi(self)
self.dbase = database()
self.month = datetime.date.today().month
self.name_jobnum = self.dbase.select_person('B')
for i in range(0,len(self.name_jobnum)):
self.dbase.insert_departmentB(self.month,self.name_jobnum[i][0],self.name_jobnum[i][1],self.name_jobnum[i][2])
self.b_info = self.dbase.select_departmentB()
# TableWidget 显示数据
# 如果很多数据 最后要分页处理
for i in range(0,len(self.b_info)):
for j in range(0,len(self.b_info[0])+1):
if j == 5:
self.combox.addItem('正常')
self.combox.addItem('请假')
self.combox.addItem('出差')
self.combox.setCurrentText('正常')
self.tableWidget.setCellWidget(i,j,self.combox)
else:
temp_data = self.b_info[i][j]
data = QtWidgets.QTableWidgetItem(str(temp_data))
self.tableWidget.setItem(i,j,data)
self.tableWidget.item(i,j).setTextAlignment(Qt.AlignHCenter|Qt.AlignVCenter)
self.combox = QtWidgets.QComboBox()
对,TableWidget 分页处理我还没有做,如何后期数据过多,需要做分页处理比较合理
人事部模块
人事部模块的主要功能是显示所有部门的所有信息,并根据职位、在职天数计算基本工资。我的方式是通过按键分开显示。
class Rwindow(QtWidgets.QMainWindow,Ui_departmentR):
def __init__(self):
super(Rwindow,self).__init__()
self.setupUi(self)
self.dbase = database()
self.month = datetime.date.today().month
self.name_jobnum = self.dbase.select_person('R')
for i in range(0,len(self.name_jobnum)):
self.dbase.insert_departmentR(self.month,self.name_jobnum[i][0],self.name_jobnum[i][1],self.name_jobnum[i][2])
self.r_info = self.dbase.select_departmentR()
self.a_info = self.dbase.select_departmentA()
self.b_info = self.dbase.select_departmentB()
self.c_info = self.dbase.select_departmentC()
self.pushButton.clicked.connect(self.change_A)
self.pushButton_2.clicked.connect(self.change_B)
self.pushButton_3.clicked.connect(self.change_R)
self.pushButton_4.clicked.connect(self.change_C)
self.change_A()
def change_A(self):
self.pushButton.setStyleSheet("background-color: rgb(0, 170, 127);")
self.pushButton_2.setStyleSheet("background-color: rgb(240, 240, 240);")
self.pushButton_3.setStyleSheet("background-color: rgb(240, 240, 240);")
self.pushButton_4.setStyleSheet("background-color: rgb(240, 240, 240);")
self.tableWidget.setRowCount(len(self.a_info