From ec428ccaca1dce574f330ddf96f23cc8636866c2 Mon Sep 17 00:00:00 2001 From: gaozheng Date: Wed, 10 Jun 2026 11:23:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(ela):=20=E9=9D=A2=E6=9D=BF=E5=8D=A0?= =?UTF-8?q?=E4=BD=8D=E6=8C=89=E9=92=AE(=E7=AD=9B=E9=80=89/=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0/=E6=B7=BB=E5=8A=A0/=E5=AF=BC=E5=87=BA/=E6=8A=98?= =?UTF-8?q?=E5=8F=A0)=E6=94=B9=20Ela=20=E5=AD=97=E4=BD=93=E5=9B=BE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前用 makeGlyph 位图 + 30×30 → 偏大且发糊。改为 ElaIconButton 字体图标(actionElaIcon 映射 Glyph→ElaIconType: Filter/Upload/Plus/Download/ChevronUp), 16px 图标 + 28×28 按钮, 与顶栏 帮助/通知/设置 一致: 清晰、随主题、尺寸协调 --- src/app/PanelHeader.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/app/PanelHeader.cpp b/src/app/PanelHeader.cpp index e953b8c..1969565 100644 --- a/src/app/PanelHeader.cpp +++ b/src/app/PanelHeader.cpp @@ -2,6 +2,7 @@ #include "Theme.hpp" +#include #include #include @@ -58,12 +59,23 @@ QLabel* makeBadge(QWidget* parent) return badge; } -// 表头操作按钮(Fluent ElaIconButton;图标沿用项目 glyph 像素图)。 +// 表头操作 Glyph → Ela 字体图标(Fluent,清晰且随主题;不再用位图 makeGlyph 以免发糊)。 +ElaIconType::IconName actionElaIcon(Glyph g) +{ + switch (g) { + case Glyph::Filter: return ElaIconType::Filter; + case Glyph::Upload: return ElaIconType::Upload; + case Glyph::Plus: return ElaIconType::Plus; + case Glyph::Download: return ElaIconType::Download; + case Glyph::Collapse: return ElaIconType::ChevronUp; + default: return ElaIconType::Ellipsis; + } +} + +// 表头操作按钮(Fluent ElaIconButton 字体图标,固定 28×28,与顶栏图标按钮一致)。 QWidget* makeActionButton(QWidget* parent, const HeaderAction& a) { - auto* btn = new ElaIconButton( - makeGlyph(a.first, QColor("#5A6B85"), kActionIcon).pixmap(kActionIcon, kActionIcon), parent); - btn->setFixedSize(30, 30); // QPixmap 构造不设尺寸,显式固定防变形 + auto* btn = new ElaIconButton(actionElaIcon(a.first), 16, 28, 28, parent); btn->setCursor(Qt::PointingHandCursor); btn->setToolTip(a.second + QStringLiteral("(占位)")); return btn;