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

55 lines
1.9 KiB
Python
Raw Normal View History

2025-10-29 22:20:21 +08:00
# coding: utf-8
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QVBoxLayout, QWidget
from qfluentwidgets import PopUpAniStackedWidget, SegmentedWidget, TitleLabel
from app.core import lang
from app.view.widgets.download_widget import DownloadScrollWidget
from app.view.widgets.upload_widget import UploadScrollWidget
class TaskInterface(QWidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.vBoxLayout = QVBoxLayout(self)
self.titleLabel = TitleLabel(lang("任务管理"), self)
self.pivot = SegmentedWidget(self)
self.stackedWidget = PopUpAniStackedWidget(self)
self.uploadScrollWidget = UploadScrollWidget(self)
self.downloadScrollWidget = DownloadScrollWidget(self)
self.__initWidget()
def __initWidget(self):
self.setObjectName("taskInterface")
self.titleLabel.setContentsMargins(10, 5, 5, 5)
self.pivot.setMinimumWidth(200)
self.pivot.addItem("Upload", lang("文件上传"))
self.pivot.addItem("Download", lang("文件下载"))
self.pivot.setCurrentItem("Upload")
self.pivot.currentItemChanged.connect(self._changePivot)
self.stackedWidget.addWidget(self.uploadScrollWidget)
self.stackedWidget.addWidget(self.downloadScrollWidget)
self.__initLayout()
def _changePivot(self, routeKey):
self.stackedWidget.setCurrentWidget(
self.stackedWidget.findChild(QWidget, routeKey + "ScrollWidget")
)
self.pivot.setCurrentItem(routeKey)
def __initLayout(self):
self.vBoxLayout.addWidget(
self.titleLabel, 0, Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignLeft
)
self.vBoxLayout.addSpacing(5)
self.vBoxLayout.addWidget(
self.pivot, 0, Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignLeft
)
self.vBoxLayout.addSpacing(5)
self.vBoxLayout.addWidget(self.stackedWidget)