_icons.py
730 Bytes
"""桥层共享的占位图标生成。
旧 ImageGeneratorWindow.create_placeholder_icon 是 QWidget 实例方法(依赖 self),
桥层独立用一份不依赖 widget 实例的版本。
"""
from PySide6.QtCore import Qt
from PySide6.QtGui import QFont, QIcon, QPainter, QPixmap
def build_placeholder_icon(text: str, size: int = 120) -> QIcon:
"""绘制一张 size×size 的浅灰底中央文字占位图,用于历史项缩略图缺失时回退。"""
pixmap = QPixmap(size, size)
pixmap.fill(Qt.lightGray)
painter = QPainter(pixmap)
painter.setPen(Qt.black)
painter.setFont(QFont("Arial", 10))
painter.drawText(pixmap.rect(), Qt.AlignCenter, text)
painter.end()
return QIcon(pixmap)