From cf47314500e4467cd6abec9d16419f72bc9d054e Mon Sep 17 00:00:00 2001 From: gaozheng Date: Thu, 11 Jun 2026 16:09:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(ui):=20=E6=95=A3=E7=82=B9=20=E6=BB=9A?= =?UTF-8?q?=E8=BD=AE=E7=BC=A9=E6=94=BE=E6=96=B9=E5=90=91=E5=8F=8D=E8=BD=AC?= =?UTF-8?q?(=E4=B8=8A=E6=BB=9A=3D=E6=94=BE=E5=A4=A7)+=E6=94=BE=E5=BC=80?= =?UTF-8?q?=E6=9C=80=E5=B0=8F=E5=AE=BD=E5=BA=A6(=E9=9A=8F=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E6=94=B6=E7=BC=A9)=20+=20=E8=89=B2=E9=98=B6=E6=9D=A1?= =?UTF-8?q?=E5=B1=85=E4=B8=AD74%=E5=AE=BD(=E9=9D=9E=E6=BB=A1=E5=AE=BD,?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E5=8E=9F=E7=89=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/panels/chart/ColorBarWidget.cpp | 10 ++++++++-- src/app/panels/chart/RawDataChartView.cpp | 6 +++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/app/panels/chart/ColorBarWidget.cpp b/src/app/panels/chart/ColorBarWidget.cpp index 61e0306..4e34289 100644 --- a/src/app/panels/chart/ColorBarWidget.cpp +++ b/src/app/panels/chart/ColorBarWidget.cpp @@ -30,9 +30,15 @@ void ColorBarWidget::paintEvent(QPaintEvent* /*event*/) { const int barY = 2; const int barH = kBarHeight; + // 居中约 74% 宽(对齐原版:色阶条不占满,两侧各留 ~13% 边距)。 + const int marginX = static_cast(W * 0.13); + const int barLeft = marginX; + const int barRight = W - marginX; + const int barW = barRight - barLeft; + if (barW < 10) return; // 等宽色带:每相邻断点一格,等宽(对齐原版图例,非按值比例)。 const int nSeg = static_cast(stops.size()) - 1; - auto segX = [&](int i) { return static_cast(static_cast(i) / nSeg * (W - 1)); }; + auto segX = [&](int i) { return barLeft + static_cast(static_cast(i) / nSeg * barW); }; for (int i = 0; i < nSeg; ++i) { int xL = segX(i), xR = segX(i + 1); @@ -42,7 +48,7 @@ void ColorBarWidget::paintEvent(QPaintEvent* /*event*/) { } // 外边框 p.setPen(QPen(QColor(120, 120, 120), 1)); - p.drawRect(0, barY, W - 1, barH - 1); + p.drawRect(barLeft, barY, barW - 1, barH - 1); // 边界值标签(深色文字,白底可见),在各分格边界下方。 QFont font = p.font(); diff --git a/src/app/panels/chart/RawDataChartView.cpp b/src/app/panels/chart/RawDataChartView.cpp index 9ca2b59..901ee92 100644 --- a/src/app/panels/chart/RawDataChartView.cpp +++ b/src/app/panels/chart/RawDataChartView.cpp @@ -87,8 +87,12 @@ RawDataChartView::RawDataChartView(QWidget* parent) : QWidget(parent) { auto* panner = new QwtPlotPanner(plot_->canvas()); panner->setMouseButton(Qt::LeftButton); - new QwtPlotMagnifier(plot_->canvas()); + auto* magnifier = new QwtPlotMagnifier(plot_->canvas()); + // 反转滚轮方向:Qwt 默认 wheelFactor=0.9 → 上滚缩小;取倒数使「上滚=放大」(常规习惯)。 + magnifier->setWheelFactor(1.0 / 0.9); + // 允许随停靠面板自由收缩(不强制最小宽度→不出横向滚动条,对齐原版响应式填充)。 + plot_->setMinimumSize(0, 0); lay->addWidget(plot_, 1); // ---- 独立色阶条(固定高 36px,QwtPlot 的兄弟 widget)----