if not student_id or not name or not id_card or not phone: QMessageBox.warning(self, '警告', '请填写必填信息') return # 插入学生信息 query = QSqlQuery() query.prepare('INSERT INTO student (student_id, name, gender, id_card, department, grade, major, hometown, phone, email, qq) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)') query.addBindValue(student_id) query.addBindValue(name) query.addBindValue(gender) query.addBindValue(id_card) query.addBindValue(department) query.addBindValue(grade) query.addBindValue(major) query.addBindValue(hometown) query.addBindValue(phone) query.addBindValue(email) query.addBindValue(qq) if not query.exec_(): print(query.lastError().text()) QMessageBox.warning(self, '警告', '添加学生失败') return # 刷新表格视图 self.model.select() # 关闭对话框 dialog.close() def modify_student(self): # 获取选中的行 selected = self.tableView.selectionModel().selectedRows() if not selected: QMessageBox.warning(self, '警告', '请先选择要修改的学生') return
时间: 2024-04-03 11:32:49 浏览: 16
这段代码实现了向数据库添加学生信息的功能。首先,通过判断输入框中是否填写了必填信息(学号、姓名、身份证号码和电话号码),如果没有填写,则弹出警告对话框,并返回。如果填写了必填信息,则通过 QSqlQuery 对象创建 SQL 语句,将学生信息插入到数据库中。如果插入失败,则打印出错误信息,并弹出警告对话框。最后,刷新表格视图,以显示添加后的数据,并关闭添加学生信息对话框。
接下来,定义了 modify_student 方法,用于修改学生信息。在该方法中,首先通过调用 self.tableView.selectionModel().selectedRows() 方法获取当前选中的行,如果没有选中任何行,则弹出警告对话框并返回。
相关问题
# 校验学生信息 if not student_id or not name or not id_card or not phone: QMessageBox.warning(self, '警告', '请填写必填信息') return # 更新学生信息 query = QSqlQuery() query.prepare('UPDATE student SET student_id = ?, name = ?, gender = ?, id_card = ?, department = ?, grade = ?, major = ?, hometown = ?, phone = ?, email = ?, qq = ? WHERE id = ?') query.addBindValue(student_id) query.addBindValue(name) query.addBindValue(gender) query.addBindValue(id_card) query.addBindValue(department) query.addBindValue(grade) query.addBindValue(major) query.addBindValue(hometown) query.addBindValue(phone) query.addBindValue(email) query.addBindValue(qq) query.addBindValue(index.siblingAtColumn(0).data()) if not query.exec_(): print(query.lastError().text()) QMessageBox.warning(self, '警告', '修改学生失败') return # 刷新表格视图 self.model.select() # 关闭对话框 dialog.close() def delete_student(self): # 获取选中的行 selected = self.tableView.selectionModel().selectedRows() if not selected: QMessageBox.warning(self, '警告', '请先选择要删除的学生') return
这段代码是关于学生信息管理的,其中包括校验学生信息、更新学生信息和删除学生信息的功能。其中,校验学生信息部分是判断必填信息是否填写完整,如果不完整则会弹出警告框。更新学生信息部分是通过SQL语句更新数据库中的学生信息,如果更新失败则会弹出警告框,最后刷新表格视图。删除学生信息部分则是获取选中的行,如果没有选中则会弹出警告框,否则会删除数据库中对应的学生信息。
逐行详细解释 if not login_status: QtWidgets.QMessageBox.warning(self, '警告', f'用户名或密码错误,请确认!', buttons=QtWidgets.QMessageBox.Ok)
这段代码是一个条件语句,首先判断登录状态是否为假(即未登录),如果是,则执行以下操作:
使用QtWidgets.QMessageBox类创建一个警告对话框,其中包含警告标题和警告信息。警告标题为“警告”,警告信息为“用户名或密码错误,请确认!”
设置对话框的按钮为“确定”按钮,即buttons=QtWidgets.QMessageBox.Ok。
最后,警告对话框将被显示出来,提示用户输入的用户名或密码错误。