"""
用户管理
为了删除用户的同时保护数据库的完整性和约束性
--从user表中返回所有用户,删除指定的用户
--将该用户所借阅的所有书籍全部归还
使用Qtablewidget来展示所有的用户的学号以及姓名
--展示所有用户
--管理员选中一行
--点击删除用户按钮
--提醒管理员是否删除
--删除,同时刷新最新的数据
"""
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import qdarkstyle
from PyQt5.QtSql import *
import time
from PyQt5 import sip
class UserManage(QDialog):
def __init__(self):
super(UserManage, self).__init__()
self.resize(280, 400)
self.layout = QVBoxLayout()
self.setLayout(self.layout)
self.setWindowTitle("用户管理")
# 用户数
self.userCount = 0
self.oldDeleteId = ""
self.oldDeleteName = ""
self.deleteID = ""
self.deleteName = ""
self.setUpUI()
def setUpUI(self):
self.db = QSqlDatabase.addDatabase("QSQLITE")
self.db.setDatabaseName('./db/LibraryManagement.db')
self.db.open()
self.query = QSqlQuery()
self.getResult()
# 表格设置
# QtableWidget 是pyQt5中的表格组件.
self.tablewidget = QTableWidget()
# 设置行数
self.tablewidget.setRowCount(self.userCount)
# 设置列数
self.tablewidget.setColumnCount(2)
# 设置表头
self.tablewidget.setHorizontalHeaderLabels(['学号', '姓名'])
# 不可编辑
self.tablewidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
# 标题可以拉伸
# QHeaderView 自动改变列宽
self.tablewidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# 整行选中
# QAbstractItemView 项目视图类xx
# SelectRows单选行
self.tablewidget.setSelectionBehavior(QAbstractItemView.SelectRows)
# 布局
self.layout.addWidget(self.tablewidget)
self.setRows()
self.deleteUserButton = QPushButton("删除用户")
hlayout = QHBoxLayout()
hlayout.addWidget(self.deleteUserButton, Qt.AlignHCenter)
self.widget = QWidget()
self.widget.setLayout(hlayout)
self.widge
PYQT5开发图书管理系统(3)
最新推荐文章于 2024-07-16 19:26:54 发布