From 73deb2b1594b7aa677f34fe4930690e3fb699ede Mon Sep 17 00:00:00 2001 From: gaozheng Date: Tue, 16 Jun 2026 07:45:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(ui):=20P2=20=E4=B8=89=E7=BB=B4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E6=A0=8F=E6=8E=A7=E4=BB=B6=E6=B7=B1=E8=89=B2?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=20=E2=80=94=20=E4=BF=AE=E7=99=BD=E5=BA=95?= =?UTF-8?q?=E6=B5=85=E5=AD=97=E7=9C=8B=E4=B8=8D=E6=B8=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 工具条只设了文字色未设控件背景,下拉/按钮保持默认白底→浅字不可读。 补:QComboBox/QPushButton/QSlider 深色背景+边框+hover/pressed+下拉弹窗配色(canvas/* token)。 --- src/app/main.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index 7114494..32ceffd 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -400,12 +400,27 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re // 坐标轴下拉(标准/立体/不显示) + 刻度下拉(无/米/英尺/经纬度) + 纵向比例滑块 + 快捷视图 6 钮 + Zoom(In/Out/Fit)。 auto* axisBar = new QFrame(centerWidget); axisBar->setFrameShape(QFrame::StyledPanel); + // 深色主题样式:控件须显式设深底(否则默认白底 + 浅字 → 看不清)。下拉弹窗(QAbstractItemView) + // 是独立顶层窗,须单独配色。与左上「视图详情」浮层同一套 canvas/* token。 geopro::app::applyTokenizedStyleSheet( axisBar, - QStringLiteral("QFrame{background:{{canvas/bg-soft}};border:1px solid {{canvas/grid}};}" - "QLabel{color:{{canvas/text}};border:none;background:transparent;}" - "QComboBox{color:{{canvas/text}};}" - "QPushButton{color:{{canvas/text}};padding:2px 6px;}")); + QStringLiteral( + "QFrame{background:{{canvas/bg-soft}};border:1px solid {{canvas/grid}};border-radius:6px;}" + "QLabel{color:{{canvas/text}};border:none;background:transparent;}" + "QComboBox{color:{{canvas/text}};background:{{canvas/bg}};border:1px solid {{canvas/grid}};" + "border-radius:4px;padding:2px 6px;}" + "QComboBox:hover{border-color:{{accent/primary}};}" + "QComboBox::drop-down{border:none;width:16px;}" + "QComboBox QAbstractItemView{color:{{canvas/text}};background:{{canvas/bg}};" + "border:1px solid {{canvas/grid}};selection-background-color:{{bg/selected}};" + "selection-color:{{canvas/text}};outline:none;}" + "QPushButton{color:{{canvas/text}};background:{{canvas/bg}};border:1px solid {{canvas/grid}};" + "border-radius:4px;padding:2px 8px;}" + "QPushButton:hover{background:{{bg/hover}};border-color:{{accent/primary}};}" + "QPushButton:pressed{background:{{bg/selected}};}" + "QSlider::groove:horizontal{height:4px;background:{{canvas/grid}};border-radius:2px;}" + "QSlider::handle:horizontal{width:12px;background:{{accent/primary}};" + "border-radius:6px;margin:-4px 0;}")); auto* axisLayout = new QHBoxLayout(axisBar); axisLayout->setContentsMargins(geopro::app::space::kMd, geopro::app::space::kSm, geopro::app::space::kMd, geopro::app::space::kSm);