查询按钮
(self)
| 58 | |
| 59 | @pyqtSlot() |
| 60 | def on_pushButtonQuery_clicked(self): |
| 61 | """查询按钮""" |
| 62 | self.applyName() |
| 63 | self.applySeat() |
| 64 | self.applyLicense() |
| 65 | self.applyPort() |
| 66 | if not self.sql: |
| 67 | return QMessageBox.warning(self, '提示', '没有进行任何输入') |
| 68 | # 清空数据 |
| 69 | self.tableWidget.clear() |
| 70 | # 重新设置表头 |
| 71 | self.tableWidget.setHorizontalHeaderLabels( |
| 72 | ['编号', '姓名', '证件号', '航班号', '航班日期', '座位号', '登机口', '序号', '出发地', '目的地']) |
| 73 | # 根据选择的字段进行并列查询 |
| 74 | rets = self.session.query(Tourist).filter( |
| 75 | and_(*(key == value for key, value in self.sql.items()))).all() |
| 76 | if not rets: |
| 77 | return QMessageBox.information(self, '提示', '未查询到结果') |
| 78 | self.tableWidget.setRowCount(len(rets)) |
| 79 | # 根据查询结果添加到表格中 |
| 80 | for row, tourist in enumerate(rets): |
| 81 | self.tableWidget.setItem(row, 0, QTableWidgetItem(str(tourist.id))) |
| 82 | self.tableWidget.setItem( |
| 83 | row, 1, QTableWidgetItem(str(tourist.name))) |
| 84 | self.tableWidget.setItem( |
| 85 | row, 2, QTableWidgetItem(str(tourist.license))) |
| 86 | self.tableWidget.setItem( |
| 87 | row, 3, QTableWidgetItem(str(tourist.flightnumber))) |
| 88 | self.tableWidget.setItem( |
| 89 | row, 4, QTableWidgetItem(str(tourist.flightdate))) |
| 90 | self.tableWidget.setItem( |
| 91 | row, 5, QTableWidgetItem(str(tourist.seatnumber))) |
| 92 | self.tableWidget.setItem( |
| 93 | row, 6, QTableWidgetItem(str(tourist.boardingport))) |
| 94 | self.tableWidget.setItem(row, 7, QTableWidgetItem(str(tourist.no))) |
| 95 | self.tableWidget.setItem( |
| 96 | row, 8, QTableWidgetItem(str(tourist.departurestation))) |
| 97 | self.tableWidget.setItem( |
| 98 | row, 9, QTableWidgetItem(str(tourist.destinationstation))) |
| 99 | |
| 100 | def applyName(self): |
| 101 | """姓名""" |