resquery.py
-- coding: utf-8 --
Form implementation generated from reading ui file 'resquery.ui'
Created by: PyQt5 UI code generator 5.15.2
WARNING: Any manual changes made to this file will be lost when pyuic5 is
run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
import sys
sys.path.append("../") # 返回上层路径
from service import service
学生信息查询
class Ui_MainWindow(QMainWindow):
# 构造方法
def init(self):
super(Ui_MainWindow, self).init()
self.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint) # 只显示最小化和关闭按钮
self.setupUi(self) # 初始化窗体设置
self.studentid = 1001
def settype(self, type):
self.type = type
print("self.type = ", self.type)
def setstudenid(self, studentid):
self.studentid = studentid
def setupUi(self, MainWindow):
#界面设置
MainWindow.setObjectName("MainWindow")
MainWindow.resize(907, 539)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
self.tableWidget.setGeometry(QtCore.QRect(0, 71, 901, 411))
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(0)
self.tableWidget.setRowCount(0)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(360, 20, 72, 41))
self.label.setObjectName("label")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(180, 30, 113, 21))
self.lineEdit.setObjectName("lineEdit")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(91, 30, 91, 21))
self.label_2.setObjectName("label_2")
self.comboBox = QtWidgets.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(430, 30, 87, 22))
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.setObjectName("comboBox")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(730, 30, 61, 28))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(810, 30, 61, 28))
self.pushButton_2.setObjectName("pushButton_2")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 907, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.tableWidget.setAlternatingRowColors(True) # 使表格颜色交错显示
self.tableWidget.verticalHeader().setVisible(False) # 隐藏垂直标题
self.query() # 窗体加载时显示所有数据
self.pushButton.clicked.connect(self.query) # 绑定查询按钮的单击信号
self.pushButton_2.clicked.connect(MainWindow.close)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
#系统查询 学生信息查询
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "查询类型:"))
self.label_2.setText(_translate("MainWindow", "查询关键字:"))
self.pushButton.setText(_translate("MainWindow", "查询"))
self.pushButton_2.setText(_translate("MainWindow", "退出"))
self.comboBox.setItemText(0, _translate("MainWindow", "学生编号"))
self.comboBox.setItemText(1, _translate("MainWindow", "学生姓名"))
查询学生信息,并显示在表格中
def query(self):
self.tableWidget.setRowCount(0) # 清空表格中的所有行
# 获取所有学生信息
if self.lineEdit.text() == "":
result = service.query(
"select stuID,stuName,CONCAT(gradeName,className),sex,age,address,tel from v_studentinfo")
else:
key = self.lineEdit.text() # 记录查询关键字
# 根据学生编号查询信息
if self.comboBox.currentText() == "学生编号":
sql="select stuID,stuName,CONCAT(gradeName,className),sex,age,address,tel from v_studentinfo where stuID like '%" + key + "%'"
result = service.query2(sql)
# 根据学生姓名查询信息
elif self.comboBox.currentText() == "学生姓名":
sql = "select stuID,stuName,CONCAT(gradeName,className),sex,age,address,tel from v_studentinfo where stuName like '%" + key + "%'"
result = service.query2(sql)
row = len(result) # 取得记录个数,用于设置表格的行数
self.tableWidget.setRowCount(row) # 设置表格行数 =记录个数row
self.tableWidget.setColumnCount(7) # 设置表格列数固定7
# 设置表格的标题名称
self.tableWidget.setHorizontalHeaderLabels(['学生编号', '学生姓名', '班级', '性别', '年龄', '家庭地址', '联系电话'])
for i in range(row): # 遍历行
for j in range(self.tableWidget.columnCount()): # 遍历列
data = QTableWidgetItem(str(result[i][j])) # 转换后可插入表格
self.tableWidget.setItem(i, j, data) # 设置每个单元格的数据

浙公网安备 33010602011771号