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

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()