You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.1 KiB

from PySide6.QtGui import QPixmap, QAction
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QLabel, QLineEdit, \
QGridLayout, QGroupBox, QMessageBox, QListView, QAbstractItemView, QListWidgetItem, QHBoxLayout, QToolBar, \
QStatusBar, QTableView, QMenuBar, QMenu
from PySide6.QtCore import Qt
from core.usermanager import UserManager
from gui.AddBook import AddBook
from gui.AddBookInformation import AddBookInformation
from gui.AddUser import AddUser
from gui.BorrowBook import BorrowBook
from gui.RemoveBook import RemoveBook
from gui.RemoveBookInformation import RemoveBookInformation
from gui.RemoveUser import RemoveUser
from gui.ReturnBook import ReturnBook
class LibrarySystemUI(QMainWindow):
def __init__(self, user_manager: UserManager):
super().__init__()
self.user_manager = user_manager
self.setWindowTitle("图书信息管理系统")
self.tool_bar = QToolBar(self)
self.addToolBar(Qt.TopToolBarArea, self.tool_bar)
if user_manager.logged_in_user[2] == "Admin":
# 创建工具栏
self.add_info_action = QAction("添加图书信息", self)
self.tool_bar.addAction(self.add_info_action)
self.delete_info_action = QAction("删除图书信息", self)
self.tool_bar.addAction(self.delete_info_action)
self.add_action = QAction("添加图书", self)
self.tool_bar.addAction(self.add_action)
self.delete_action = QAction("删除图书", self)
self.tool_bar.addAction(self.delete_action)
self.add_user_action = QAction("添加用户", self)
self.tool_bar.addAction(self.add_user_action)
self.delete_user_action = QAction("移除用户", self)
self.tool_bar.addAction(self.delete_user_action)
self.book_status_action = QAction("查询图书状态", self)
self.tool_bar.addAction(self.book_status_action)
# 连接动作
self.add_info_action.triggered.connect(self.add_info_book)
self.delete_info_action.triggered.connect(self.delete_info_book)
self.add_action.triggered.connect(self.add_book)
self.delete_action.triggered.connect(self.remove_book)
self.add_user_action.triggered.connect(self.add_user)
self.delete_user_action.triggered.connect(self.delete_user)
self.book_status_action.triggered.connect(self.book_status)
else:
self.borrow_action = QAction("借阅图书", self)
self.tool_bar.addAction(self.borrow_action)
self.return_action = QAction("归还图书", self)
self.tool_bar.addAction(self.return_action)
#链接动作
self.borrow_action.triggered.connect(self.borrow_book)
self.return_action.triggered.connect(self.return_book)
# 创建状态栏
self.status_bar = QStatusBar(self)
self.setStatusBar(self.status_bar)
# 创建中心区域
self.table_view = QTableView(self)
self.setCentralWidget(self.table_view)
def add_info_book(self):
self.add_book_information = AddBookInformation(self.user_manager)
self.add_book_information.show()
def delete_info_book(self):
self.remove_book_information = RemoveBookInformation(self.user_manager)
self.remove_book_information.show()
def add_book(self):
self.add_book = AddBook(self.user_manager)
self.add_book.show()
def remove_book(self):
self.remove_book = RemoveBook(self.user_manager)
self.remove_book.show()
def add_user(self):
self.addUser = AddUser(self.user_manager)
self.addUser.show()
def delete_user(self):
self.removeUser = RemoveUser(self.user_manager)
self.removeUser.show()
def borrow_book(self):
self.borrow_book = BorrowBook(self.user_manager)
self.borrow_book.show()
def return_book(self):
self.return_book = ReturnBook(self.user_manager)
self.return_book.show()
def book_status(self):
pass