|
|
"""
|
|
|
代码功能:添加用户界面设计与功能实现
|
|
|
"""
|
|
|
import sys
|
|
|
|
|
|
from PyQt5 import QtCore, QtWidgets
|
|
|
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
|
|
|
|
|
|
from ComboCheckBox import QComboCheckBox
|
|
|
from db import sql_execute
|
|
|
from sqls import *
|
|
|
|
|
|
|
|
|
class AddAdmin(object):
|
|
|
# 界面设计
|
|
|
def setupUi(self, Form):
|
|
|
Form.setObjectName("Form")
|
|
|
Form.resize(360, 279)
|
|
|
self.label = QtWidgets.QLabel(Form)
|
|
|
self.label.setGeometry(QtCore.QRect(40, 40, 54, 12))
|
|
|
self.label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
|
|
|
self.label.setObjectName("label")
|
|
|
self.textEdit = QtWidgets.QLineEdit(Form)
|
|
|
self.textEdit.setGeometry(QtCore.QRect(100, 30, 181, 31))
|
|
|
self.textEdit.setObjectName("textEdit")
|
|
|
self.label0 = QtWidgets.QLabel(Form)
|
|
|
self.label0.setGeometry(QtCore.QRect(40, 90, 54, 12))
|
|
|
self.label0.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
|
|
|
self.label0.setObjectName("label")
|
|
|
self.textEdit0 = QtWidgets.QLineEdit(Form)
|
|
|
self.textEdit0.setGeometry(QtCore.QRect(100, 80, 181, 31))
|
|
|
self.textEdit0.setObjectName("textEdit")
|
|
|
self.textEdit_2 = QtWidgets.QLineEdit(Form)
|
|
|
self.textEdit_2.setGeometry(QtCore.QRect(100, 130, 181, 31))
|
|
|
self.textEdit_2.setObjectName("textEdit_2")
|
|
|
self.label_2 = QtWidgets.QLabel(Form)
|
|
|
self.label_2.setGeometry(QtCore.QRect(40, 140, 54, 12))
|
|
|
self.label_2.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
|
|
|
self.label_2.setObjectName("label_2")
|
|
|
classlist = sql_execute(getClassList('0', ''))
|
|
|
self.textEdit_3 = QComboCheckBox(Form)
|
|
|
for class_ in classlist:
|
|
|
self.textEdit_3.add_item('%d.%s' % (class_[0], class_[1]), flag=False)
|
|
|
self.textEdit_3.setGeometry(QtCore.QRect(100, 180, 181, 31))
|
|
|
self.textEdit_3.setObjectName("textEdit_3")
|
|
|
self.label_3 = QtWidgets.QLabel(Form)
|
|
|
self.label_3.setGeometry(QtCore.QRect(23, 190, 71, 20))
|
|
|
self.label_3.setObjectName("label_3")
|
|
|
self.pushButton = QtWidgets.QPushButton(Form)
|
|
|
self.pushButton.setGeometry(QtCore.QRect(110, 240, 75, 23))
|
|
|
self.pushButton.setObjectName("pushButton")
|
|
|
# 提交按钮
|
|
|
self.pushButton.clicked.connect(lambda: self.addAdmin(Form))
|
|
|
|
|
|
self.pushButton_2 = QtWidgets.QPushButton(Form)
|
|
|
self.pushButton_2.setGeometry(QtCore.QRect(190, 240, 75, 23))
|
|
|
self.pushButton_2.setObjectName("pushButton_2")
|
|
|
# 取消按钮
|
|
|
self.pushButton_2.clicked.connect(lambda: Form.hide())
|
|
|
|
|
|
self.retranslateUi(Form)
|
|
|
QtCore.QMetaObject.connectSlotsByName(Form)
|
|
|
|
|
|
def retranslateUi(self, Form):
|
|
|
_translate = QtCore.QCoreApplication.translate
|
|
|
Form.setWindowTitle(_translate("Form", "新增角色"))
|
|
|
self.label.setText(_translate("Form", "用户名:"))
|
|
|
self.label0.setText(_translate("Form", "密码:"))
|
|
|
self.label_2.setText(_translate("Form", "备注:"))
|
|
|
self.label_3.setText(_translate("Form", "可管理班级:"))
|
|
|
self.pushButton.setText(_translate("Form", "提交"))
|
|
|
self.pushButton_2.setText(_translate("Form", "取消"))
|
|
|
|
|
|
# 功能实现
|
|
|
def addAdmin(self, Form):
|
|
|
username = self.textEdit.text()
|
|
|
password = self.textEdit0.text()
|
|
|
mark = self.textEdit_2.text()
|
|
|
classids = self.textEdit_3.get_class_text()
|
|
|
sql_execute(insertAdmin(username, password, mark, classids))
|
|
|
QMessageBox.about(Form, '成功', "添加成功!请刷新列表数据。")
|
|
|
Form.hide()
|
|
|
|
|
|
|
|
|
# 测试
|
|
|
if __name__ == "__main__":
|
|
|
App = QApplication(sys.argv) # 创建QApplication对象,作为GUI主程序入口
|
|
|
aw = AddAdmin() # 创建主窗体对象,实例化Ui_MainWindow
|
|
|
w = QMainWindow() # 实例化QMainWindow类
|
|
|
aw.setupUi(w) # 主窗体对象调用setupUi方法,对QMainWindow对象进行设置
|
|
|
w.show() # 显示主窗体
|
|
|
w.setWindowTitle('Python学生管理系统-新增用户')
|
|
|
sys.exit(App.exec_()) # 循环中等待退出程序
|