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.
108 lines
4.0 KiB
108 lines
4.0 KiB
from msilib import Dialog
|
|
from tkinter.tix import Form
|
|
|
|
from PySide6 import QtCore, QtWidgets, QtGui
|
|
from qframelesswindow import AcrylicWindow, StandardTitleBar
|
|
|
|
from qfluentwidgets import (SettingCardGroup, SwitchSettingCard, FolderListSettingCard,
|
|
OptionsSettingCard, PushSettingCard,
|
|
HyperlinkCard, PrimaryPushSettingCard, ScrollArea,
|
|
ComboBoxSettingCard, ExpandLayout, Theme, CustomColorSettingCard,
|
|
setTheme, setThemeColor, RangeSettingCard, isDarkTheme, OptionsConfigItem, OptionsValidator,
|
|
ConfigItem, RangeValidator, IntValidator, Dialog, LineEdit)
|
|
from qfluentwidgets import FluentIcon as FIF
|
|
from PySide6.QtCore import Qt, Signal, QUrl, QStandardPaths
|
|
from PySide6.QtWidgets import QWidget, QLabel, QFileDialog, QVBoxLayout, QApplication
|
|
|
|
from .dialog.AddBookDialog import AddBookDialog
|
|
from .dialog.AddBookInstanceDialog import AddBookInstanceDialog
|
|
from .dialog.AddUserDialog import AddUserDialog
|
|
from .gallery_interface import GalleryInterface
|
|
from ..common.Manager import UserManager
|
|
from ..common.style_sheet import StyleSheet
|
|
from ..common.translator import Translator
|
|
|
|
|
|
class AdminTools(ScrollArea):
|
|
def __init__(self, parent=None):
|
|
super().__init__(parent=parent)
|
|
# setting label
|
|
self.settingLabel = QLabel(self.tr("管理员工具"), self)
|
|
|
|
self.scrollWidget = QWidget()
|
|
self.expandLayout = ExpandLayout(self.scrollWidget)
|
|
|
|
self.addBookInfoCard = SettingCardGroup(self.tr('书籍信息'), self.scrollWidget)
|
|
|
|
self.addBookInfo = PushSettingCard(
|
|
self.tr('录入书籍信息'),
|
|
FIF.DOWNLOAD,
|
|
self.tr("开始操作"),
|
|
"录入书籍的详细信息, 包括ISBN, 书名, 作者, 分类",
|
|
self.addBookInfoCard
|
|
)
|
|
|
|
self.addBookInstance = PushSettingCard(
|
|
self.tr('添加书籍'),
|
|
FIF.DOWNLOAD,
|
|
self.tr("开始操作"),
|
|
"将一本书添加到数据库中",
|
|
self.addBookInfoCard
|
|
)
|
|
|
|
self.addUserInfoCard = SettingCardGroup(self.tr('人员信息'), self.scrollWidget)
|
|
self.addUser = PushSettingCard(
|
|
self.tr('添加用户'),
|
|
FIF.ADD,
|
|
self.tr("开始操作"),
|
|
"在数据库中创建一名用户",
|
|
self.addBookInfoCard
|
|
)
|
|
|
|
self.__initWidget()
|
|
|
|
def __initWidget(self):
|
|
self.resize(1000, 800)
|
|
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
|
|
self.setViewportMargins(0, 80, 0, 20)
|
|
self.setWidget(self.scrollWidget)
|
|
self.setWidgetResizable(True)
|
|
|
|
# initialize style sheet
|
|
self.scrollWidget.setObjectName('scrollWidget')
|
|
self.settingLabel.setObjectName('settingLabel')
|
|
StyleSheet.SETTING_INTERFACE.apply(self)
|
|
|
|
# initialize layout
|
|
self.__initLayout()
|
|
self.__connectSignalToSlot()
|
|
|
|
def __initLayout(self):
|
|
self.settingLabel.move(36, 30)
|
|
|
|
self.addBookInfoCard.addSettingCard(self.addBookInfo)
|
|
self.addBookInfoCard.addSettingCard(self.addBookInstance)
|
|
self.expandLayout.addWidget(self.addBookInfoCard)
|
|
|
|
self.addUserInfoCard.addSettingCard(self.addUser)
|
|
self.expandLayout.addWidget(self.addUserInfoCard)
|
|
|
|
self.expandLayout.setSpacing(28)
|
|
self.expandLayout.setContentsMargins(36, 10, 36, 0)
|
|
|
|
def __connectSignalToSlot(self):
|
|
self.addBookInfo.clicked.connect(self.callAddBookInfo)
|
|
self.addBookInstance.clicked.connect(self.callAddBookInstance)
|
|
self.addUser.clicked.connect(self.callAddUser)
|
|
|
|
def callAddBookInfo(self):
|
|
self.addBookInfoDiaLog = AddBookDialog()
|
|
self.addBookInfoDiaLog.show()
|
|
|
|
def callAddBookInstance(self):
|
|
self.addBookInstanceDialog = AddBookInstanceDialog()
|
|
self.addBookInstanceDialog.show()
|
|
|
|
def callAddUser(self):
|
|
self.addUserDialog = AddUserDialog()
|
|
self.addUserDialog.show() |