Files
leonpan-pc/app/view/components/empty_card.py
2025-10-29 22:20:21 +08:00

50 lines
1.6 KiB
Python

# coding: utf-8
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QVBoxLayout
from qfluentwidgets import CardWidget, ImageLabel, SubtitleLabel
class EmptyCard(CardWidget):
def __init__(self, parent=None, text=None):
super().__init__(parent=parent)
self.setMinimumWidth(200)
self.setBorderRadius(10)
self.vBoxLayout = QVBoxLayout(self)
self.vBoxLayout.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.iconLabel = ImageLabel(self)
self.iconLabel.setImage(":app/images/empty.png")
self.iconLabel.scaledToHeight(130)
self.iconLabel.scaledToWidth(130)
self.titleLabel = SubtitleLabel(self)
self.titleLabel.setText(text)
self.titleLabel.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.vBoxLayout.addWidget(self.iconLabel, 0, Qt.AlignmentFlag.AlignHCenter)
self.vBoxLayout.addWidget(self.titleLabel)
def setText(self, text):
self.titleLabel.setText(text)
self.update()
def load(self):
self.iconLabel.setImage(":app/images/load.png")
self.iconLabel.scaledToHeight(130)
self.iconLabel.scaledToWidth(130)
self.titleLabel.setText("加载中...")
def error(self):
self.iconLabel.setImage(":app/images/error.png")
self.iconLabel.scaledToHeight(130)
self.iconLabel.scaledToWidth(130)
self.titleLabel.setText("加载失败,请重试")
def empty(self):
self.iconLabel.setImage(":app/images/empty.png")
self.iconLabel.scaledToHeight(130)
self.iconLabel.scaledToWidth(130)
self.titleLabel.setText("这里空空如也")