def show_teacher_journal_window(self): work = Work() grade = Grade() table_content: np.ndarray = grade.all(self.session, self.discipline_name, self.group_number) self.teacher_journal_ui.tableWidget = set_items_to_table( self.teacher_journal_ui.tableWidget, table_content) table_header: list = work.show_name(self.session, self.group_number, self.discipline_name, flag_header=True) self.teacher_journal_ui.tableWidget.setHorizontalHeaderLabels( table_header) self.teacher_journal_ui.tableWidget.resizeColumnsToContents() self.teacher_journal_ui.group_number = self.group_number self.teacher_journal_ui.discipline_name = self.discipline_name d = "Дисциплина: " + str(self.discipline_name) self.teacher_journal_ui.label.setText(d) g = "Группа: №" + str(self.group_number) self.teacher_journal_ui.label_2.setText(g) self.teacher_journal_ui.journal_attendance_ui = self.journal_attendance_ui self.teacher_journal_ui.journal_attendance_window = self.journal_attendance_window self.teacher_journal_ui.journal_safety_ui = self.journal_safety_ui self.teacher_journal_ui.journal_safety_window = self.journal_safety_window self.teacher_journal_ui.teacher_journal_ui = self.teacher_journal_ui self.teacher_journal_ui.teacher_journal_window = self.teacher_journal_window self.teacher_journal_window.show() self.journal_safety_window.close()
def add(self): grade = Grade() value = self.lineEdit.text() date = self.dateEdit.date().getDate() new_date = str(date) feedback = self.textEdit.toPlainText() note = self.textEdit_2.toPlainText() student = self.lineEdit_2.text() grade.add(self.session, self.id_work, student, value, new_date, self.new_path_file, note, feedback) history = HistoryGrade() action = "Добавление" date = self.dateEdit.date().currentDate().getDate() date = str(date) history.add(self.session, self.id_work, student, value, action, date) table_content: np.ndarray = grade.all(self.session, self.discipline_name, self.group_number) self.table = set_items_to_table(self.table, table_content) self.table.resizeColumnsToContents() self.add_grade_window.close()
def delete_safety(self): items = self.tableWidget.selectedItems() for i in items: col = self.tableWidget.column(i) safety = Safety() safe_name = safety.all_name(self.session, self.discipline_name, self.group_number) choosen_safe = safe_name[col - 1] safety.delete(self.session, choosen_safe, self.discipline_name, self.group_number) self.tableWidget.setRowCount(0) pass_safety = PassSafety() table_content: np.ndarray = pass_safety.all( self.session, self.discipline_name, self.group_number) self.tableWidget = set_items_to_table(self.tableWidget, table_content) table_header: list = safety.all_name(self.session, self.discipline_name, self.group_number, flag_header=True) self.tableWidget.setHorizontalHeaderLabels(table_header) self.tableWidget.resizeColumnsToContents() break
def show_journal_attendance_window(self): self.journal_attendance_ui.label_2.setText(self.discipline_name) self.journal_attendance_ui.label_4.setText(self.group_number) a = Attendance() table_content: np.ndarray = a.all(self.session, self.discipline_name, self.group_number) self.journal_attendance_ui.tableWidget = set_items_to_table( self.journal_attendance_ui.tableWidget, table_content) table_header: list = a.show_name(self.session, self.group_number, self.discipline_name, flag_header=True) self.journal_attendance_ui.tableWidget.setHorizontalHeaderLabels( table_header) self.journal_attendance_ui.tableWidget.resizeColumnsToContents() self.journal_attendance_ui.group_number = self.group_number self.journal_attendance_ui.discipline_name = self.discipline_name self.journal_attendance_ui.teacher_journal_ui = self.teacher_journal_ui self.journal_attendance_ui.teacher_journal_window = self.teacher_journal_window self.journal_attendance_ui.journal_safety_ui = self.journal_safety_ui self.journal_attendance_ui.journal_safety_window = self.journal_safety_window self.journal_attendance_ui.journal_attendance_ui = self.journal_attendance_ui self.journal_attendance_ui.journal_attendance_window = self.journal_attendance_window self.journal_attendance_window.show() self.journal_safety_window.close()
def show_journal_safety_window(self): safety = Safety() group_number: str = self.comboBox_2.currentText() discipline_name: str = self.comboBox.currentText() pass_safety = PassSafety() table_content: np.ndarray = pass_safety.all(self.session, discipline_name, group_number) self.journal_safety_ui.tableWidget = set_items_to_table(self.journal_safety_ui.tableWidget, table_content) table_header: list = safety.all_name(self.session, discipline_name, group_number, flag_header=True) self.journal_safety_ui.tableWidget.setHorizontalHeaderLabels(table_header) self.journal_safety_ui.tableWidget.resizeColumnsToContents() self.journal_safety_ui.group_number = group_number self.journal_safety_ui.discipline_name = discipline_name self.journal_safety_ui.label_2.setText(discipline_name) self.journal_safety_ui.label_4.setText(group_number) self.journal_safety_ui.teacher_journal_ui = self.teacher_journal_ui self.journal_safety_ui.teacher_journal_window = self.teacher_journal_window self.journal_safety_ui.journal_attendance_window = self.journal_attendance_window self.journal_safety_ui.journal_attendance_ui = self.journal_attendance_ui self.journal_safety_ui.journal_safety_ui = self.journal_safety_ui self.journal_safety_ui.journal_safety_window = self.journal_safety_window self.journal_safety_window.show()
def show_group_list_window(self): group = Group() ls_all = group.show_all(self.session) ls_all = np.array(ls_all) self.group_list_ui.tableWidget = set_items_to_table( self.group_list_ui.tableWidget, ls_all) self.group_list_ui.tableWidget.resizeColumnsToContents() self.group_list_window.show()
def show_training_formats_list_window(self): class_format = ClassFormat() ls_all = class_format.show_all(self.session) ls_all = np.array(ls_all) self.training_formats_list_ui.tableWidget = set_items_to_table( self.training_formats_list_ui.tableWidget, ls_all) self.training_formats_list_ui.tableWidget.resizeColumnsToContents() self.training_formats_list_window.show()
def show_audience_list_window(self): audience = Audience() ls_all = audience.show_all(self.session) ls_all = np.array(ls_all) self.audience_list_ui.tableWidget = set_items_to_table( self.audience_list_ui.tableWidget, ls_all) self.audience_list_ui.tableWidget.resizeColumnsToContents() self.audience_list_window.show()
def update(self): student = Student() group_number: str = self.group_number ls_all: list = student.show_all(self.session, group_number) ls_all: np.ndarray = np.array(ls_all) self.tableWidget = set_items_to_table(self.tableWidget, ls_all) self.tableWidget.resizeColumnsToContents() self.label.setText("Список группы: №" + str(group_number)) self.group_number = str(group_number)
def add(self): class_format = ClassFormat() name = self.lineEdit.text() class_format.add(self.session, name) ls_all = class_format.show_all(self.session) ls_all = np.array(ls_all) self.table = set_items_to_table(self.table, ls_all) self.table.resizeColumnsToContents() self.add_training_formats_window.close()
def show_group_window(self): group = Group() ls_all = group.show_all(self.session) ls_all = np.array(ls_all) self.group_ui.tableWidget = set_items_to_table( self.group_ui.tableWidget, ls_all, DARK_THEME=self.dark_theme) self.group_ui.update(self.dark_theme) self.group_ui.tableWidget.resizeColumnsToContents() self.group_window.show()
def show(self): grade = Grade() result = grade.lagging_students(self.session) self.tableWidget = set_items_to_table(self.tableWidget, result, DARK_THEME=self.dark_theme) self.tableWidget.setHorizontalHeaderLabels( ["ФИО", "Группа", "Дисциплина", "Список не сданных работ"]) self.tableWidget.resizeColumnsToContents() self.main_window.show()
def add(self): audience = Audience() corps = self.lineEdit.text() number = self.lineEdit_2.text() audience.add(self.session, corps, number) ls_all = audience.show_all(self.session) ls_all = np.array(ls_all) self.table = set_items_to_table(self.table, ls_all) self.table.resizeColumnsToContents() self.add_audience_window.close()
def show_student_list_window(self): student = Student() group_number: str = self.comboBox.currentText() ls_all: list = student.show_all(self.session, group_number) ls_all: np.ndarray = np.array(ls_all) self.student_list_ui.tableWidget = set_items_to_table( self.student_list_ui.tableWidget, ls_all) self.student_list_ui.tableWidget.resizeColumnsToContents() self.student_list_ui.label.setText("Список группы: №" + str(group_number)) self.student_list_ui.group_number = str(group_number) self.student_list_window.show()
def __init__(self, main_window): self.session = main_window.session self.specialty_list_window = main_window.specialty_list_window self.specialty_list_window.setObjectName("MainWindow") self.specialty_list_window.setFixedSize(625, 416) self.centralwidget = QtWidgets.QWidget(self.specialty_list_window) self.centralwidget.setObjectName("centralwidget") self.tableWidget = QtWidgets.QTableWidget(self.centralwidget) self.tableWidget.setGeometry(QtCore.QRect(10, 10, 601, 301)) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(2) self.tableWidget.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers) specialty = Specialty() ls_all = specialty.show_all(self.session) ls = query_to_list_of_specialty_all(ls_all) self.tableWidget = set_items_to_table(self.tableWidget, ls) self.tableWidget.setHorizontalHeaderLabels(["Код", "Наименование"]) self.tableWidget.resizeColumnsToContents() self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(10, 320, 151, 32)) self.pushButton.setObjectName("pushButton") self.pushButton.clicked.connect(self.add) self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(160, 320, 151, 32)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_2.clicked.connect(self.update) self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_3.setGeometry(QtCore.QRect(310, 320, 151, 32)) self.pushButton_3.setObjectName("pushButton_3") self.pushButton_3.clicked.connect(self.delete) self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_4.setGeometry(QtCore.QRect(460, 350, 151, 32)) self.pushButton_4.setObjectName("pushButton_4") self.pushButton_4.clicked.connect(self.close_window) self.specialty_list_window.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(self.specialty_list_window) self.statusbar.setObjectName("statusbar") self.specialty_list_window.setStatusBar(self.statusbar) self.add_specialty_window = QtWidgets.QMainWindow() self.add_specialty_ui = UiAddSpecialty(self) self.update_specialty_window = QtWidgets.QMainWindow() self.update_specialty_ui = UiUpdateSpecialty(self) self.retranslateUi(self.specialty_list_window) QtCore.QMetaObject.connectSlotsByName(self.specialty_list_window)
def analysis(self): type_analysis = self.comboBox_2.currentText() grade = Grade() control = Control() if type_analysis == 'Средняя оценка за работы в семестре': result: np.ndarray = grade.analysis_group_average_rating_discipline(self.session, self.discipline) elif type_analysis == 'Максимальная оценка по итогам работы в семестре': result: np.ndarray = grade.analysis_group_rating_semester_discipline(self.session, self.discipline, max=True) elif type_analysis == 'Минимальная оценка по итогам работы в семестре': result: np.ndarray = grade.analysis_group_rating_semester_discipline(self.session, self.discipline, max=False) elif type_analysis == 'Средняя оценка по итогам сессии': result: np.ndarray = control.analysis_group_average_rating_discipline(self.session, self.discipline) elif type_analysis == 'Максимальная оценка по итогам сессии': result: np.ndarray = control.analysis_group_maxmin_discipline(self.session, self.discipline, max=True) else: result: np.ndarray = control.analysis_group_maxmin_discipline(self.session, self.discipline,max=False) self.analytics_table_discipline_group_ui.tableWidget.setColumnCount(2) if type_analysis == 'Средняя оценка за работы в семестре': table_header = ['Учебная группа', 'Средняя оценка'] elif type_analysis == 'Максимальная оценка по итогам работы в семестре': table_header = ['Учебная группа', 'Максимальная оценка'] elif type_analysis == 'Минимальная оценка по итогам работы в семестре': table_header = ['Учебная группа', 'Минимальная оценка'] elif type_analysis == 'Средняя оценка по итогам сессии': table_header = ['Учебная группа', 'Средняя оценка'] elif type_analysis == 'Максимальная оценка по итогам сессии': table_header = ['Учебная группа', 'Максимальная оценка'] else: table_header = ['Учебная группа', 'Минимальная оценка'] self.analytics_table_discipline_group_ui.tableWidget.setHorizontalHeaderLabels(table_header) self.analytics_table_discipline_group_ui.tableWidget = set_items_to_table( self.analytics_table_discipline_group_ui.tableWidget, result, DARK_THEME=self.dark_theme) self.analytics_table_discipline_group_ui.update(self.dark_theme) self.analytics_table_discipline_group_ui.tableWidget.resizeColumnsToContents() self.analytics_table_discipline_group_ui.label_6.setText(self.discipline) self.analytics_table_discipline_group_ui.label_2.setText(type_analysis) self.analytics_table_discipline_group_ui.result = result self.analytics_table_discipline_group_ui.discipline = self.discipline self.analytics_table_discipline_group_ui.table_header = table_header self.analytics_table_discipline_group_ui.type_analysis = type_analysis self.choice_discipline_group_window.hide() self.analytics_table_discipline_group_window.show()
def update(self): fio = self.label_4.text() safety = self.label_5.text() date = self.dateEdit.date().getDate() new_date = str(date) pass_safety = PassSafety() pass_safety.update(self.session, fio, safety, new_date, self.discipline_name, self.group_number) pass_safety = PassSafety() table_content: np.ndarray = pass_safety.all(self.session, self.discipline_name, self.group_number) self.table = set_items_to_table(self.table, table_content) self.table.resizeColumnsToContents() self.update_safety_student_window.close()
def add(self): name: str = self.lineEdit.text() safety = Safety() safety.add(self.session, self.discipline_name, self.group_number, name) pass_safety = PassSafety() table_content: np.ndarray = pass_safety.all(self.session, self.discipline_name, self.group_number) self.table = set_items_to_table(self.table, table_content) table_header: list = safety.all_name(self.session, self.discipline_name, self.group_number, flag_header=True) self.table.setHorizontalHeaderLabels(table_header) self.table.resizeColumnsToContents() self.add_safety_window.close()
def delete(self): work = Work() work.delete(self.session, self.id_work) self.table.setRowCount(0) grade = Grade() table_content: np.ndarray = grade.all(self.session, self.discipline_name, self.group_number) self.table = set_items_to_table(self.table, table_content) table_header: list = work.show_name(self.session, self.discipline_name, self.group_number, flag_header=True) self.table.setHorizontalHeaderLabels(table_header) self.table.resizeColumnsToContents() self.detail_work_window.close()
def set_defualt_timetable_main_window(self, monday, saturday): tuesday = monday + datetime.timedelta(days=1) wednesday = monday + datetime.timedelta(days=2) thursday = monday + datetime.timedelta(days=3) friday = monday + datetime.timedelta(days=4) o = Occupation() monday_ls = o.show_all(self.session, monday) tuesday_ls = o.show_all(self.session, tuesday) wednesday_ls = o.show_all(self.session, wednesday) thursday_ls = o.show_all(self.session, thursday) friday_ls = o.show_all(self.session, friday) saturday_ls = o.show_all(self.session, saturday) monday_ls = np.array(monday_ls) self.tableWidget_main.setRowCount(0) self.tableWidget_main = set_items_to_table(self.tableWidget_main, monday_ls) self.tableWidget_main.resizeColumnsToContents() tuesday_ls = np.array(tuesday_ls) self.tableWidget_2_main.setRowCount(0) self.tableWidget_2_main = set_items_to_table(self.tableWidget_2_main, tuesday_ls) self.tableWidget_2_main.resizeColumnsToContents() wednesday_ls = np.array(wednesday_ls) self.tableWidget_3_main.setRowCount(0) self.tableWidget_3_main = set_items_to_table(self.tableWidget_3_main, wednesday_ls) self.tableWidget_3_main.resizeColumnsToContents() thursday_ls = np.array(thursday_ls) self.tableWidget_4_main.setRowCount(0) self.tableWidget_4_main = set_items_to_table(self.tableWidget_4_main, thursday_ls) self.tableWidget_4_main.resizeColumnsToContents() friday_ls = np.array(friday_ls) self.tableWidget_5_main.setRowCount(0) self.tableWidget_5_main = set_items_to_table(self.tableWidget_5_main, friday_ls) self.tableWidget_5_main.resizeColumnsToContents() saturday_ls = np.array(saturday_ls) self.tableWidget_6_main.setRowCount(0) self.tableWidget_6_main = set_items_to_table(self.tableWidget_6_main, saturday_ls) self.tableWidget_6_main.resizeColumnsToContents()
def delete(self): grade = Grade() grade.delete(self.session, self.id_grade) self.table.setRowCount(0) grade = Grade() table_content: np.ndarray = grade.all(self.session, self.discipline_name, self.group_number) self.table = set_items_to_table(self.table, table_content) history = HistoryGrade() action = "Удаление" date = self.dateEdit.date().currentDate().getDate() date = str(date) student = self.lineEdit_2.text() value = self.lineEdit.text() history.add(self.session, self.id_work, student, value, action, date) self.table.resizeColumnsToContents() self.detail_grade_window.close()
def add(self): name = self.lineEdit.text() task = self.textEdit.toPlainText() note = self.textEdit_2.toPlainText() grade_scale = self.comboBox.currentText() date = self.dateEdit.date().getDate() new_date = str(date) isdeadline: bool = self.checkBox.isChecked() work = Work() work.add(self.session, self.discipline_name, self.group_number, name, task, note, grade_scale, new_date, isdeadline ) grade = Grade() table_content: np.ndarray = grade.all(self.session, self.discipline_name, self.group_number) self.table = set_items_to_table(self.table, table_content) table_header: list = work.show_name(self.session, self.group_number, self.discipline_name, flag_header=True) self.table.setHorizontalHeaderLabels(table_header) self.table.resizeColumnsToContents() self.add_work_window.close()
def set_defualt_timetable(self, monday, saturday): tuesday = monday + datetime.timedelta(days=1) wednesday = monday + datetime.timedelta(days=2) thursday = monday + datetime.timedelta(days=3) friday = monday + datetime.timedelta(days=4) o = Occupation() monday_ls = o.show_all(self.session, monday) tuesday_ls = o.show_all(self.session, tuesday) wednesday_ls = o.show_all(self.session, wednesday) thursday_ls = o.show_all(self.session, thursday) friday_ls = o.show_all(self.session, friday) saturday_ls = o.show_all(self.session, saturday) monday_ls = np.array(monday_ls) self.tableWidget.setRowCount(0) self.tableWidget = set_items_to_table(self.tableWidget, monday_ls) self.tableWidget.resizeColumnsToContents() tuesday_ls = np.array(tuesday_ls) self.tableWidget_2.setRowCount(0) self.tableWidget_2 = set_items_to_table(self.tableWidget_2, tuesday_ls) self.tableWidget_2.resizeColumnsToContents() wednesday_ls = np.array(wednesday_ls) self.tableWidget_3.setRowCount(0) self.tableWidget_3 = set_items_to_table(self.tableWidget_3, wednesday_ls) self.tableWidget_3.resizeColumnsToContents() thursday_ls = np.array(thursday_ls) self.tableWidget_4.setRowCount(0) self.tableWidget_4 = set_items_to_table(self.tableWidget_4, thursday_ls) self.tableWidget_4.resizeColumnsToContents() friday_ls = np.array(friday_ls) self.tableWidget_5.setRowCount(0) self.tableWidget_5 = set_items_to_table(self.tableWidget_5, friday_ls) self.tableWidget_5.resizeColumnsToContents() saturday_ls = np.array(saturday_ls) self.tableWidget_6.setRowCount(0) self.tableWidget_6 = set_items_to_table(self.tableWidget_6, saturday_ls) self.tableWidget_6.resizeColumnsToContents()
def show_teacher_journal_window(self): work = Work() group_number: str = self.comboBox_2.currentText() discipline_name: str = self.comboBox.currentText() grade = Grade() table_content: np.ndarray = grade.all(self.session, discipline_name, group_number) self.teacher_journal_window_ui.tableWidget = set_items_to_table( self.teacher_journal_window_ui.tableWidget, table_content, DARK_THEME=self.dark_theme) table_header: list = work.show_name(self.session, group_number, discipline_name, flag_header=True) self.teacher_journal_window_ui.tableWidget.setHorizontalHeaderLabels( table_header) self.teacher_journal_window_ui.tableWidget.resizeColumnsToContents() self.teacher_journal_window_ui.update(self.dark_theme) self.teacher_journal_window.show()
def analysis(self): group = self.comboBox.currentText() type_analysis = self.comboBox_4.currentText() period = self.comboBox_3.currentText() session = self.comboBox_2.currentText() self.analytics_table_group_ui.label_2.setText(group) self.analytics_table_group_ui.label_4.setText(type_analysis) self.analytics_table_group_ui.label_6.setText(period) self.analytics_table_group_ui.label_8.setText(session) control = Control() if type_analysis == 'Средняя оценка по итогам сессии': result: np.ndarray = control.analysis_group( self.session, group, session, period) elif type_analysis == 'Максимальная оценка по итогам сессии': result: np.ndarray = control.analysis_group_maximin(self.session, group, session, period, max=True) else: result: np.ndarray = control.analysis_group_maximin(self.session, group, session, period, max=False) self.analytics_table_group_ui.result = result self.analytics_table_group_ui.tableWidget.setColumnCount(2) if type_analysis == 'Средняя оценка по итогам сессии': self.analytics_table_group_ui.group_diagram_ui.pushButton_3.setText( "Отобразить диаграмму в пропорциях") elif type_analysis == 'Максимальная оценка по итогам сессии': self.analytics_table_group_ui.group_diagram_ui.pushButton_3.setText( "Отобразить диаграмму в круговом виде") self.analytics_table_group_ui.group_diagram_ui.pushButton_3.hide() self.analytics_table_group_ui.group_diagram_ui.data = result else: self.analytics_table_group_ui.group_diagram_ui.pushButton_3.setText( "Отобразить диаграмму в круговом виде") self.analytics_table_group_ui.group_diagram_ui.pushButton_3.hide() self.analytics_table_group_ui.group_diagram_ui.data = result if type_analysis == 'Средняя оценка по итогам сессии': table_header = ['Учебный год', 'Средняя оценка'] elif type_analysis == 'Максимальная оценка по итогам сессии': table_header = ['Учебный год', 'Максимальная оценка'] else: table_header = ['Учебный год', 'Минимальная оценка'] self.analytics_table_group_ui.tableWidget.setHorizontalHeaderLabels( table_header) self.analytics_table_group_ui.tableWidget = set_items_to_table( self.analytics_table_group_ui.tableWidget, result, DARK_THEME=self.dark_theme) self.analytics_table_group_ui.update(self.dark_theme) self.analytics_table_group_ui.tableWidget.resizeColumnsToContents() self.analytics_table_group_ui.group = group self.analytics_table_group_ui.type_analysis = type_analysis self.analytics_table_group_ui.period = period self.analytics_table_group_ui.stud_session = session self.analytics_table_group_ui.table_header = table_header self.group_analytics_window.hide() self.analytics_table_group_window.show()
def show_history_window(self): history_grade = HistoryGrade() table_content: np.ndarray = history_grade.all(self.session, self.discipline_name, self.group_number) self.history_ui.tableWidget = set_items_to_table(self.history_ui.tableWidget, table_content) self.history_ui.tableWidget.resizeColumnsToContents() self.history_window.show()
def analysis(self): student = self.comboBox.currentText() type_analysis = self.comboBox_4.currentText() period = self.comboBox_3.currentText() session = self.comboBox_2.currentText() self.analytics_table_student_ui.label_2.setText(student) self.analytics_table_student_ui.label_4.setText(type_analysis) self.analytics_table_student_ui.label_6.setText(period) self.analytics_table_student_ui.label_8.setText(session) control = Control() grade = Grade() if type_analysis == 'Средняя оценка по итогам сессии': result: np.ndarray = control.analysis_student_average_rating( self.session, student, session, period) elif type_analysis == 'Максимальная оценка по итогам сессии': result: np.ndarray = control.analysis_student_rating(self.session, student, session, period, max=True) elif type_analysis == 'Минимальная оценка по итогам сессии': result: np.ndarray = control.analysis_student_rating(self.session, student, session, period, max=False) elif type_analysis == 'Средняя оценка за работы в семестре': result: np.ndarray = grade.analysis_student_average_rating( self.session, student, session, period) elif type_analysis == 'Максимальная оценка по итогам работы в семестре': result: np.ndarray = grade.analysis_student_rating_semester( self.session, student, session, period, max=True) elif type_analysis == 'Минимальная оценка по итогам работы в семестре': result: np.ndarray = grade.analysis_student_rating_semester( self.session, student, session, period, max=False) elif type_analysis == 'Количество сданных работ в семестре': result: np.ndarray = grade.analysis_student_number_works( self.session, student, session, period) self.analytics_table_student_ui.result = result if type_analysis == 'Количество сданных работ в семестре': self.analytics_table_student_ui.tableWidget.setColumnCount(3) else: self.analytics_table_student_ui.tableWidget.setColumnCount(2) if type_analysis == 'Средняя оценка по итогам сессии': table_header = ['Учебный год', 'Средняя оценка'] elif type_analysis == 'Средняя оценка за работы в семестре': table_header = ['Учебный год', 'Средняя оценка'] elif type_analysis == 'Максимальная оценка по итогам сессии': table_header = ['Учебный год', 'Максимальная оценка'] elif type_analysis == 'Минимальная оценка по итогам сессии': table_header = ['Учебный год', 'Минимальная оценка'] elif type_analysis == 'Максимальная оценка по итогам работы в семестре': table_header = ['Учебный год', 'Максимальная оценка'] elif type_analysis == 'Минимальная оценка по итогам работы в семестре': table_header = ['Учебный год', 'Минимальная оценка'] elif type_analysis == 'Количество сданных работ в семестре': table_header = [ 'Учебный год', 'Количество сданных работ', 'Количество работ' ] if type_analysis == 'Средняя оценка по итогам сессии': self.analytics_table_student_ui.student_diagram_ui.pushButton_3.setText( "Отобразить диаграмму в пропорциях") else: self.analytics_table_student_ui.student_diagram_ui.pushButton_3.setText( "Отобразить диаграмму в круговом виде") self.analytics_table_student_ui.student_diagram_ui.pushButton_3.hide( ) self.analytics_table_student_ui.student_diagram_ui.data = result self.analytics_table_student_ui.tableWidget.setHorizontalHeaderLabels( table_header) self.analytics_table_student_ui.tableWidget = set_items_to_table( self.analytics_table_student_ui.tableWidget, result, DARK_THEME=self.dark_theme) self.analytics_table_student_ui.update(self.dark_theme) self.analytics_table_student_ui.tableWidget.resizeColumnsToContents() self.analytics_table_student_ui.student = student self.analytics_table_student_ui.type_analysis = type_analysis self.analytics_table_student_ui.period = period self.analytics_table_student_ui.stud_session = session self.analytics_table_student_ui.table_header = table_header self.analytics_table_student_ui.group = self.group self.analytics_table_student_ui.result = result self.student_analytics_window.hide() self.analytics_table_student_window.show()