From a3130d0d2ae124b115e87cf8e9035a3c9c683c71 Mon Sep 17 00:00:00 2001 From: impressionyang Date: Thu, 11 Jun 2026 19:37:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20light=20=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E9=BB=91=E8=89=B2=E6=96=B9=E5=9D=97=20=E2=80=94=20?= =?UTF-8?q?=E6=98=BE=E5=BC=8F=E8=AE=BE=E7=BD=AE=20light=20palette=20+=20?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=20tab=20=E5=9C=86=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. light 主题 palette 改用显式颜色(QPalette::Window #ffffff 等), 替代 standardPalette(),后者在 Fusion 风格下可能返回不正确的颜色 2. QTabWidget::pane 移除 border-radius,Fusion 风格下圆角会导致 裁剪区域渲染为黑色 Co-Authored-By: Claude Opus 4.7 --- src/app/application.cpp | 20 +++++++++++++++++++- src/ui/resources/styles/main.qss | 1 - 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/app/application.cpp b/src/app/application.cpp index e9c4acb..08c25f1 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -109,7 +109,25 @@ void Application::applyTheme(const QString& theme) { palette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(80, 80, 80)); palette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(127, 127, 127)); } else { - palette = qApp->style()->standardPalette(); + // 显式设置亮色主题(不依赖 standardPalette,兼容 Fusion 风格) + palette.setColor(QPalette::Window, QColor(255, 255, 255)); + palette.setColor(QPalette::WindowText, QColor(34, 34, 34)); + palette.setColor(QPalette::Base, QColor(255, 255, 255)); + palette.setColor(QPalette::AlternateBase, QColor(245, 245, 245)); + palette.setColor(QPalette::ToolTipBase, Qt::white); + palette.setColor(QPalette::ToolTipText, QColor(34, 34, 34)); + palette.setColor(QPalette::Text, QColor(34, 34, 34)); + palette.setColor(QPalette::Button, QColor(255, 255, 255)); + palette.setColor(QPalette::ButtonText, QColor(34, 34, 34)); + palette.setColor(QPalette::BrightText, QColor(0, 150, 136)); + palette.setColor(QPalette::Link, QColor(42, 130, 218)); + palette.setColor(QPalette::Highlight, QColor(42, 130, 218)); + palette.setColor(QPalette::HighlightedText, Qt::white); + palette.setColor(QPalette::Disabled, QPalette::Text, QColor(180, 180, 180)); + palette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(180, 180, 180)); + palette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(180, 180, 180)); + palette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(200, 200, 200)); + palette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(160, 160, 160)); } qApp->setPalette(palette); diff --git a/src/ui/resources/styles/main.qss b/src/ui/resources/styles/main.qss index 0959e93..d3d13ed 100644 --- a/src/ui/resources/styles/main.qss +++ b/src/ui/resources/styles/main.qss @@ -10,7 +10,6 @@ /* ========== QTabWidget ========== */ QTabWidget::pane { border: 1px solid #e0e0e0; - border-radius: 6px; background: #ffffff; }