From 2be49b205cebf6b0c35a03cd4deb68ff30a45cc8 Mon Sep 17 00:00:00 2001 From: gaozheng Date: Wed, 10 Jun 2026 10:35:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(ela):=20=E5=9B=BE=E6=A0=87=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=8F=98=E5=BD=A2=20+=20tooltip=20=E4=B8=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ElaIconButton(icon,pixelSize,parent) 不设固定尺寸→图标被压扁; 改用带固定宽高的构造 (TopBar help/bell/gear: icon,18,34,34); PanelHeader 操作按钮(QPixmap 构造)显式 setFixedSize(30,30) - 删全局 QToolTip QSS(深蓝底+蓝边框+圆角→弹窗露直角且不像原生)→ 用系统原生工具提示 --- src/app/PanelHeader.cpp | 1 + src/app/Theme.cpp | 8 +------- src/app/TopBar.cpp | 3 ++- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/app/PanelHeader.cpp b/src/app/PanelHeader.cpp index bae2467..25418dc 100644 --- a/src/app/PanelHeader.cpp +++ b/src/app/PanelHeader.cpp @@ -63,6 +63,7 @@ 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 构造不设尺寸,显式固定防变形 btn->setCursor(Qt::PointingHandCursor); btn->setToolTip(a.second + QStringLiteral("(占位)")); return btn; diff --git a/src/app/Theme.cpp b/src/app/Theme.cpp index 1f4c24a..b4da13f 100644 --- a/src/app/Theme.cpp +++ b/src/app/Theme.cpp @@ -27,13 +27,7 @@ QWidget { QMainWindow, QDialog { background: #F4F6FA; } -QToolTip { - background: #1F2A3D; - color: #F4F6FA; - border: 1px solid #2D6CB5; - border-radius: 6px; - padding: 4px 8px; -} +/* QToolTip 不写 QSS:用系统原生工具提示(自定义 QSS 会让弹窗圆角露直角、且不像原生)。 */ /* ── 视图内工具条(2D/3D、数据详情):白底分段控件,柔和不刺眼 ── */ QToolBar { diff --git a/src/app/TopBar.cpp b/src/app/TopBar.cpp index 54eb752..9d3d1d4 100644 --- a/src/app/TopBar.cpp +++ b/src/app/TopBar.cpp @@ -42,9 +42,10 @@ QFrame* makeDivider(QWidget* parent) } // 右侧图标按钮(Fluent ElaIconButton:自带图标字体 + 悬停 + 随主题着色)。 +// 用带固定宽高的构造(icon, 字号, 宽, 高, parent)——否则图标会被压扁变形。 QWidget* makeIconButton(QWidget* parent, ElaIconType::IconName icon, const QString& tip) { - auto* btn = new ElaIconButton(icon, kToolIcon, parent); + auto* btn = new ElaIconButton(icon, 18, 34, 34, parent); btn->setToolTip(tip); btn->setCursor(Qt::PointingHandCursor); return btn;