Files
leonpan-pc/app/view/storagespace_interface.py

77 lines
2.9 KiB
Python
Raw Normal View History

2025-10-29 22:20:21 +08:00
# coding: utf-8
from loguru import logger
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QHBoxLayout, QVBoxLayout, QWidget
from qfluentwidgets import ScrollArea, TitleLabel
from app.core import GetPackThread, lang
from app.view.components.gb_information_card import GbInformationCard
class NumInformationWidget(QWidget):
def __init__(self, parent=None):
super(NumInformationWidget, self).__init__(parent)
self.hBoxLayout = QHBoxLayout(self)
self.basicSizeCard = GbInformationCard(0, lang("用户组基础容量"), self)
2025-11-02 19:17:20 +08:00
# self.packSizeCard = GbInformationCard(0, lang("有效容量包附加附加容量"), self)
2025-10-29 22:20:21 +08:00
self.usedSizeCard = GbInformationCard(0, lang("已使用容量"), self)
self.totalSizeCard = GbInformationCard(0, lang("总容量"), self)
self.hBoxLayout.setSpacing(10)
self.hBoxLayout.addWidget(self.basicSizeCard)
2025-11-02 19:17:20 +08:00
# self.hBoxLayout.addWidget(self.packSizeCard)
2025-10-29 22:20:21 +08:00
self.hBoxLayout.addWidget(self.usedSizeCard)
self.hBoxLayout.addWidget(self.totalSizeCard)
class StoragespaceInterface(ScrollArea):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.widgets = QWidget()
self.vBoxLayout = QVBoxLayout(self.widgets)
self.firstLoad = True
self.titleLabel = TitleLabel(lang("存储配额"), self)
self.numInformationWidget = NumInformationWidget(self)
self.__initWidget()
self._loadUserCustomStorage()
def __initWidget(self):
self.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
self.setWidget(self.widgets)
self.setWidgetResizable(True)
self.setObjectName("storageInterface")
self.widgets.setObjectName("scrollWidgets")
self.widgets.setStyleSheet("background:transparent;border:none;")
self.setStyleSheet("background:transparent;border:none;")
self.titleLabel.setContentsMargins(10, 5, 5, 5)
self.__initLayout()
def __initLayout(self):
self.vBoxLayout.setAlignment(Qt.AlignmentFlag.AlignTop)
self.vBoxLayout.addWidget(self.titleLabel)
self.vBoxLayout.addWidget(self.numInformationWidget)
def _loadUserCustomStorage(self):
if not self.firstLoad:
return
self.packThread = GetPackThread()
self.packThread.storageDictSignal.connect(self._successGetPack)
self.packThread.start()
def _successGetPack(self, datas):
self.packData = datas["data"]
self.firstLoad = False
2025-11-02 19:17:20 +08:00
# self.numInformationWidget.packSizeCard.updateValue(self.packData["pack"])
2025-10-29 22:20:21 +08:00
self.numInformationWidget.basicSizeCard.updateValue(self.packData["base"])
self.numInformationWidget.usedSizeCard.updateValue(self.packData["used"])
self.numInformationWidget.totalSizeCard.updateValue(self.packData["total"])
logger.success("用户配额加载,已刷新")