在(一)中已经介绍了怎么添加管理员账号,没仔细看的可以翻前面的看。
假设已经正常登陆,界面如下:
登陆后显示管理界面,进行增删改查,可以全部查询检索,也可以分学号、姓名和身份证进行查询。
查询后的结果如下:
介绍完了,下面是完整代码:
import sys
from PyQt5.QtWidgets import QLabel,QWidget,QToolTip,QPushButton,QLineEdit,QApplication,QGridLayout,QMessageBox,QComboBox,QTableWidget,QAbstractItemView,QTableWidgetItem,QCheckBox,QHBoxLayout
from sqlalchemy import or_
import db
class Users(QWidget):
def __init__(self):
super().__init__()
self.session = db.start()
self.initUI()
def initUI(self):
self.setWindowTitle("学生信息管理")
self.setGeometry(600,200,900,600) #设置位置和大小
self.show()
#搜索类型
self.cate = QComboBox(self)
self.cate.addItem("全部")
self.cate.addItem("学号")
self.cate.addItem("姓名")
self.cate.addItem("身份证")
#搜索框
self.search_text = QLineEdit()
#搜索提交按钮
self.search_btn = QPushButton("搜索",self)
self.search_btn.clicked.connect(self.showList)
#添加按钮
self.add_btn = QPushButton("新增学生信息",self)
self.add_btn.setStyleSheet(''' text-align : center;
background-color : #3399ea;
height : 30px;
border-radius:5px;
border-style: outset;
color:#fff;
font : 13px; ''')
self.add_btn.clicked.connect(self.addUser)
#搜索结果列表框
self.result =QTableWidget(self)
self.result.setColumnCount(7)
self.result.setHorizontalHeaderLabels(['学号', '姓名','年龄','性别', '身份证','修改','删除'])
self.result.verticalHeader().setVisible(False)#隐藏列表头
self.result.setEditTriggers(QAbstractItemView.NoEditTriggers)
#设置列宽
self.result.setColumnWidth(0, 100)
self.result.setColumnWidth(1, 100)
self.result.setColumnWidth(2, 100)
self.result.setColumnWidth(3, 100)
self.result.setColumnWidth(4, 200)
self.result.setSelectionBehavior(QAbstractItemView.SelectRows)
grid = QGridLayout()
grid.addWidget(self.cate,0,0,1,1)
grid.addWidget(self.search_text,0,1,1,3)
grid.addWidget(self.search_btn,0,4,1,1)
grid.addWidget(self.add_btn,0,5,1,1)