From a23f9489b9f9b786631a4eb9820e8c4b6f253a23 Mon Sep 17 00:00:00 2001 From: 19961801196 <1020785391@qq.com> Date: Sun, 9 Oct 2022 10:07:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3mviz=E4=B8=ADst=E5=9B=BE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=A8=A1=E5=9D=97=E5=AF=B9=E5=BA=94=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AD=97=E6=AE=B5=E9=83=A8=E5=88=86=E5=A1=AB=E5=85=85?= =?UTF-8?q?=E6=97=B6=EF=BC=8Cmviz=E4=B8=AD=E6=97=A0=E6=B3=95=E7=94=BB?= =?UTF-8?q?=E5=87=BAst=E5=9B=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chart_plugin/src/curve/curve_data.cpp | 4 ---- chart_plugin/src/slt_space/slt_space_data.cpp | 4 ---- chart_plugin/src/st_space/st_space_data.cpp | 4 ---- 3 files changed, 12 deletions(-) diff --git a/chart_plugin/src/curve/curve_data.cpp b/chart_plugin/src/curve/curve_data.cpp index 050728b..4c54e49 100755 --- a/chart_plugin/src/curve/curve_data.cpp +++ b/chart_plugin/src/curve/curve_data.cpp @@ -32,10 +32,6 @@ using std::vector; bool CurveData::SetCurveData(const vector &pointVector, QPolygonF &qPolygonF) const { - if (pointVector.empty()) { - return false; - } - if (!qPolygonF.isEmpty()) { qPolygonF.clear(); } diff --git a/chart_plugin/src/slt_space/slt_space_data.cpp b/chart_plugin/src/slt_space/slt_space_data.cpp index 4a5a5be..dbfe856 100755 --- a/chart_plugin/src/slt_space/slt_space_data.cpp +++ b/chart_plugin/src/slt_space/slt_space_data.cpp @@ -37,10 +37,6 @@ bool SltSpaceData::SetCurveData(const vector &pointVector, vec return false; } - if (pointVector.empty()) { - return false; - } - if (!mglPointVector->empty()) { mglPointVector->clear(); } diff --git a/chart_plugin/src/st_space/st_space_data.cpp b/chart_plugin/src/st_space/st_space_data.cpp index a158d92..1dc5f97 100755 --- a/chart_plugin/src/st_space/st_space_data.cpp +++ b/chart_plugin/src/st_space/st_space_data.cpp @@ -36,10 +36,6 @@ bool StSpaceData::SetCurveData(const vector &pointVector, QPoly return false; } - if (pointVector.empty()) { - return false; - } - if (!qPolygonF->isEmpty()) { qPolygonF->clear(); } -- Gitee From 879938659308aa052a9023c1bc04162fa5fad9be Mon Sep 17 00:00:00 2001 From: 19961801196 <1020785391@qq.com> Date: Sun, 9 Oct 2022 18:00:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3mviz=E4=B8=ADst=E5=9B=BE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=A8=A1=E5=9D=97=E5=BD=93=E9=9A=9C=E7=A2=8D?= =?UTF-8?q?=E7=89=A9=E5=AD=97=E6=AE=B5=E4=B8=BA=E7=A9=BA,st=E5=9B=BE?= =?UTF-8?q?=E4=B8=8A=E6=B2=A1=E6=9C=89=E5=88=B7=E6=96=B0=E9=9A=9C=E7=A2=8D?= =?UTF-8?q?=E7=89=A9=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chart_plugin/src/st_space_display.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/chart_plugin/src/st_space_display.cpp b/chart_plugin/src/st_space_display.cpp index e3267bf..49082c9 100755 --- a/chart_plugin/src/st_space_display.cpp +++ b/chart_plugin/src/st_space_display.cpp @@ -71,7 +71,6 @@ const qreal CURVE_SYMBOL_PEN_WIDTH = 0x01; const int32_t CURVE_SYMBOL_SIZE_WIDTH = 0x02; const int32_t CURVE_SYMBOL_SIZE_HRIGHT = 0x02; -const int32_t LEGEND_WIDGETS_SIZE = 0x01; const QString LEGEND_STYLE_SHEET = "color: rgb(255, 255, 255);"; const QString QWTPLOT_TITLE_FONT_FAMILY = "楷体"; @@ -313,8 +312,8 @@ void StSpaceDisplay::ShowCurve(QwtPlotItem *item, bool isVisible) item->setVisible(isVisible); QwtLegend *legend = qobject_cast(ui.qwtPlot->legend()); QList legendWidgets = legend->legendWidgets(ui.qwtPlot->itemToInfo(item)); - if (legendWidgets.size() == LEGEND_WIDGETS_SIZE) { - QwtLegendLabel *legendLabel = qobject_cast(legendWidgets[0]); + for (int32_t i = 0; i < legendWidgets.size(); i++) { + QwtLegendLabel *legendLabel = qobject_cast(legendWidgets.at(i)); if (legendLabel != nullptr) { legendLabel->setChecked(isVisible); } @@ -697,9 +696,20 @@ void StSpaceDisplay::ShowObjects(const QMap &stObjectsMap) { auto objectsTypeId = stSpaceData.GetObjectsTypeIdMap(); - if (!stObjectsCurveMap.empty()) { - stObjectsCurveMap.clear(); + for (auto iter = stObjectsCurveMap.begin(); iter != stObjectsCurveMap.end(); iter++) { + QwtLegend *legend = qobject_cast(ui.qwtPlot->legend()); + QList legendWidgets = legend->legendWidgets(ui.qwtPlot->itemToInfo(iter->second.get())); + for (int32_t i = 0; i < legendWidgets.size(); i++) { + QwtLegendLabel *legendLabel = qobject_cast(legendWidgets.at(i)); + if (legendLabel != nullptr) { + delete legendLabel; + legendLabel = nullptr; + } + } + iter->second->detach(); + iter->second->setSamples(QPolygonF()); } + stObjectsCurveMap.clear(); QList listType = objectsTypeId.keys(); @@ -730,10 +740,6 @@ void StSpaceDisplay::ShowObjects(const QMap &stObjectsMap) void StSpaceDisplay::DrawObjects(const QMap &stObjectsMap) { - if (stObjectsMap.isEmpty()) { - return; - } - ShowObjects(stObjectsMap); UpdateObjectsTypeChoice(); } -- Gitee