From 8968d17a688a6778942adea126761f2c5e350c2b Mon Sep 17 00:00:00 2001 From: jiayulong Date: Fri, 26 Jun 2026 10:16:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E2=80=9C=E5=A4=9A=E4=BA=95?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=9B=BE=E6=96=87=E4=BB=B6=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E5=9B=BE=E6=96=87=E4=BB=B6=E9=81=93=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=9C=89=E8=AF=AF=E2=80=9D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logPlus/formwell.cpp | 8 ++++++++ logPlus/formwell.h | 2 +- logPlus/mainwindowcurve.cpp | 36 ++++++++++++++++++++++++++++++++++++ logPlus/mainwindowcurve.h | 3 +++ 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/logPlus/formwell.cpp b/logPlus/formwell.cpp index f15cbfb..707e6bc 100644 --- a/logPlus/formwell.cpp +++ b/logPlus/formwell.cpp @@ -596,6 +596,14 @@ void FormWell::s_NewTrack_No_Line(QString strUuid, QString strWellName, QString void FormWell::slot_NewTrack_No_Line(QString strUuid, QJsonObject topObj, QJsonObject infoObj) { + if(g_iLoadingJson==1)//针对模板加载 + { + if(!m_bActive) //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + { + return; + } + } + QString strWellName=g_strWellName; QString strTrackName=""; //多井的打开工程,使用模板的井名和slf名 diff --git a/logPlus/formwell.h b/logPlus/formwell.h index 45eba18..04e3bf0 100644 --- a/logPlus/formwell.h +++ b/logPlus/formwell.h @@ -68,9 +68,9 @@ public: MainWindowCurve *m_pMainWinCurve = NULL; bool m_bShowTrackHead = true; //显示道头 bool m_bMultiProject = false; //多井的打开工程,使用模板的井名和slf名 + bool m_bActive = true; //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 bool m_bSetRowHeight = true; //默认非手工设置行高,而是调用接口SetRowHeight - // 道图形 QMap> m_mapFormDraw; diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index def27a8..4085733 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -5516,6 +5516,7 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName, bool bS widgetWell->m_bShowTrackHead = bShowTrackHead; //多井的打开工程,使用模板的井名和slf名 widgetWell->m_bMultiProject = m_bMultiProject; + widgetWell->m_bActive = true; //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 // ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);//默认用widgetWell填充满 m_mapFWell.insert(strWellName, widgetWell); @@ -7184,6 +7185,10 @@ void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo) s_NewWell(strWellName, strSlfName, m_bShowTrackHead); + //修改井的激活状态 + //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + modifyWellActive(); + // if (wellObjInfo.contains("formTracks")) { @@ -8035,3 +8040,34 @@ void MainWindowCurve::restoreOriginalCentralWidget() m_bHVDisplay = false; return; } + + +//修改井的激活状态 +//多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 +void MainWindowCurve::modifyWellActive() +{ + // + int columnCount = ui->tableWidget_2->columnCount();//总列数 + for(int i=0; itableWidget_2->cellWidget(1, i) != nullptr ) + { + auto myWidget = ui->tableWidget_2->cellWidget(1, i); + // + FormWell *widgetWell = qobject_cast(myWidget);//获得widget + if(widgetWell) + { + widgetWell->m_bActive = false; //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + } + } + } +} diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index fe36a00..ab78dcb 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -159,6 +159,9 @@ public: QString m_fileJson=""; bool m_bMultiProject = false; //多井的打开工程,使用模板的井名和slf名 + //多井加载json时,默认当前井为最后一口井,激活状态。需要修改其他前面的井为非激活状态 + void modifyWellActive(); + public: //样式 void loadStyle(const QString &qssFile);