From 5754b3cfc2113d2490b5f0502891e377f3a18581 Mon Sep 17 00:00:00 2001 From: momen Date: Tue, 14 Oct 2025 11:57:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=97=A0icon=E5=BA=94=E7=94=A8=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E9=BB=98=E8=AE=A4=E5=9B=BE=E6=A0=87=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/appdelegate.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/appdelegate.cpp b/src/appdelegate.cpp index c9f851e..fcaf2ac 100644 --- a/src/appdelegate.cpp +++ b/src/appdelegate.cpp @@ -90,10 +90,16 @@ void AppDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, c // 调整图标位置,为复选框留出空间 QRect iconRect(rect.left() + 40, rect.top() + (rect.height() - iconSize) / 2, iconSize, iconSize); + // 检查图标路径是否存在,如果不存在则使用默认图标 + QString finalIconPath = iconPath; + if (iconPath.isEmpty() || !QFile::exists(iconPath)) { + finalIconPath = ":/resources/default_icon.svg"; + } + // 如果是忽略状态,绘制灰色图标 if (isIgnored) { // 创建灰度效果 - QPixmap originalPixmap = QIcon(iconPath).pixmap(iconSize, iconSize); + QPixmap originalPixmap = QIcon(finalIconPath).pixmap(iconSize, iconSize); QPixmap grayPixmap(originalPixmap.size()); grayPixmap.fill(Qt::transparent); QPainter grayPainter(&grayPixmap); @@ -102,7 +108,7 @@ void AppDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, c grayPainter.end(); painter->drawPixmap(iconRect, grayPixmap); } else { - QIcon(iconPath).paint(painter, iconRect); + QIcon(finalIconPath).paint(painter, iconRect); } int textX = iconRect.right() + margin;