From 0ef7d85bf2b0b92f7eb7370860ad50ecb8404466 Mon Sep 17 00:00:00 2001 From: zhaolei <353719554@qq.com> Date: Tue, 16 Jun 2026 16:18:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=95=E6=AC=A1=E5=92=8C?= =?UTF-8?q?=E4=BA=95=E4=B8=8A=E6=B7=BB=E5=8A=A0=E6=9B=B4=E6=96=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=8F=9C=E5=8D=95=E3=80=81=E6=B7=BB=E5=8A=A0=E6=B3=A2?= =?UTF-8?q?=E5=88=97=E6=9B=B2=E7=BA=BF=E6=95=B0=E6=8D=AE=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataMgr/src/DataManagger.cpp | 44 ++++++++--------- logPlus/qtprojectwidgets.cpp | 94 ++++++++++++++++++++++++++++++++++++ logPlus/qtprojectwidgets.h | 2 + 3 files changed, 118 insertions(+), 22 deletions(-) diff --git a/DataMgr/src/DataManagger.cpp b/DataMgr/src/DataManagger.cpp index 756912b..037ae1a 100644 --- a/DataMgr/src/DataManagger.cpp +++ b/DataMgr/src/DataManagger.cpp @@ -798,28 +798,28 @@ void CDataManagger::DataStatistics(int Type, pDlg2->show(); } } -// //whp add 2020.4.9 for 波列曲线预览 -// void CDataManagger::DisplayWave(const QString& FileName,const QString& WaveName) -// { -// CLogIO *logio=new CLogIO(); -// if(!logio->Open(FileName.toStdString().c_str(),CSlfIO::modeRead)) -// { -// delete logio; -// QMessageBox::warning(NULL,"提示","打开文件"+FileName+"错误"); -// return ; -// } -// int index=logio->OpenWave(WaveName.toStdString().c_str()); -// if(index<0){ -// delete logio; -// return; -// } -// logio->CloseWave(index); -// delete logio; -// ShowWave *pDlg=new ShowWave(); -// pDlg->FileName=FileName,pDlg->WaveName=WaveName; -// pDlg->init(); -// pDlg->show(); -// } + //whp add 2020.4.9 for 波列曲线预览 +void CDataManagger::DisplayWave(const QString& FileName,const QString& WaveName) +{ + CLogIO *logio=new CLogIO(); + if(!logio->Open(FileName.toStdString().c_str(),CSlfIO::modeRead)) + { + delete logio; + QMessageBox::warning(NULL,"提示","打开文件"+FileName+"错误"); + return ; + } + int index=logio->OpenWave(WaveName.toStdString().c_str()); + if(index<0){ + delete logio; + return; + } + logio->CloseWave(index); + delete logio; + ShowWave *pDlg=new ShowWave(); + pDlg->FileName=FileName,pDlg->WaveName=WaveName; + pDlg->init(); + pDlg->show(); +} // //whp add 2020.5.12 for 常规曲线预览 // void CDataManagger::DisplayCurve(const QString& FileName,const QString& CurveName) // { diff --git a/logPlus/qtprojectwidgets.cpp b/logPlus/qtprojectwidgets.cpp index 924c243..c762693 100644 --- a/logPlus/qtprojectwidgets.cpp +++ b/logPlus/qtprojectwidgets.cpp @@ -27,6 +27,7 @@ #include "ObjWelllog.h" #include "DataImport.h" #include "CallGlobalManage.h" +#include "ObjWelllogWavefile.h" extern QString g_prjname; // extern void AppendConsole(Priority priority, const QString &output); @@ -965,6 +966,11 @@ void QtProjectWidgets::initWaveObjectTreeMenu(QMenu *menu, QTreeWidget *treeWidg connect(m_action_DepthResample, SIGNAL(triggered(bool)), this, SLOT(onDepthResample(bool))); menu->addAction(m_action_DepthResample); + QAction* action_DisplayWave = new QAction("波列曲线预览", treeWidget); + action_DisplayWave->setIcon(QIcon(GetImagePath() + "icon/AddToTrack.png")); + connect(action_DisplayWave, SIGNAL(triggered(bool)), this, SLOT(onDisplayWave(bool))); + menu->addAction(action_DisplayWave); + QAction* action_InfoEdit = new QAction("属性编辑", treeWidget); action_InfoEdit->setIcon(QIcon(GetImagePath() + "icon/AddToTrack.png")); connect(action_InfoEdit, SIGNAL(triggered()), this, SLOT(onInfoEdit())); @@ -1065,6 +1071,11 @@ void QtProjectWidgets::initWellNameTreeMenu(QMenu *menu, QTreeWidget *treeWidget connect(m_action_DepthResample, SIGNAL(triggered(bool)), this, SLOT(onDepthResample(bool))); menu->addAction(m_action_DepthResample); + action_New = new QAction("更新数据", treeWidget); + action_New->setIcon(QIcon(GetImagePath() + "icon/Sheet.png")); // 设置图标 + connect(action_New, SIGNAL(triggered(bool)), this, SLOT(slotRefreshData())); + menu->addAction(action_New); + QAction* action_ReName = new QAction("重命名", treeWidget); action_ReName->setIcon(QIcon(GetImagePath() + "icon/Rename.png")); // 设置图标":/image/u174.png" connect(action_ReName, SIGNAL(triggered()), this, SLOT(onReNameObject())); @@ -1116,6 +1127,11 @@ void QtProjectWidgets::initSlfNameTreeMenu(QMenu *menu, QTreeWidget *treeWidget) connect(action_New, SIGNAL(triggered(bool)), this, SLOT(onWelllogInformation())); menu->addAction(action_New); + action_New = new QAction("更新数据", treeWidget); + action_New->setIcon(QIcon(GetImagePath() + "icon/Sheet.png")); // 设置图标 + connect(action_New, SIGNAL(triggered(bool)), this, SLOT(slotRefreshData())); + menu->addAction(action_New); + QAction* action_ReName = new QAction("重命名", treeWidget); action_ReName->setIcon(QIcon(GetImagePath() + "icon/Rename.png")); // 设置图标":/image/u174.png" connect(action_ReName, SIGNAL(triggered()), this, SLOT(onReNameObject())); @@ -1561,6 +1577,26 @@ void QtProjectWidgets::onCurve2Table(bool checked) } } +//波列曲线预览 +void QtProjectWidgets::onDisplayWave(bool checked) +{ + if (ui->treeWidget->selectedItems().count()!=1) + return; + QTreeWidgetItem *pItem = *ui->treeWidget->selectedItems().begin(); + QString strSlfName = pItem->data(0, Qt::UserRole+1).toString(); + CObjWellLogWavefile *pround=new CObjWellLogWavefile(); + pround->SetName(pItem->text(0)); + pround->SetSlfFileName(strSlfName); + + QString CurveName=pround->GetName(); + QString FileName=pround->GetSlfFileName(); + if (NULL==magr) + { + return; + } + magr->DisplayWave(FileName,CurveName); +} + //合成阵列曲线 void QtProjectWidgets::onWaveCompose(bool checked) { @@ -2359,6 +2395,64 @@ void QtProjectWidgets::RefreshWellRoundTree(QTreeWidgetItem *parentItem) } } +void QtProjectWidgets::slotRefreshData() +{ + if (ui->treeWidget->selectedItems().count()!=1) + return; + QString strWellName = ""; + QString strSlfName = ""; + QTreeWidgetItem *pItem = *ui->treeWidget->selectedItems().begin(); + QString strTreeTag = pItem->data(0, Qt::UserRole).toString(); + if (strTreeTag == "wellname") //井名 + { + strWellName = pItem->text(0); + + } + else if (strTreeTag == "wellItem") //井次 + { + strWellName = pItem->parent()->text(0); + strSlfName = pItem->data(0, Qt::UserRole+1).toString(); + } + + QString strProjectFolder = GetProjectFolder(); + QString strProjectFile = strProjectFolder + g_prjname; + strProjectFile += ".wwl"; + s_OpenProject(strProjectFile); + + + QTreeWidgetItem *item = ui->treeWidget->topLevelItem(0); + int childCount = item->childCount(); // 获取子节点数量 + for (int i = 0; i < childCount; ++i) + { + //井组,数据分析... + QTreeWidgetItem *wellGroupItem = item->child(i); + QString wellGroupname = wellGroupItem->text(0); + if (wellGroupname == "井组") + { + int wellCount = wellGroupItem->childCount(); // 获取井节点数量 + for (int j = 0; j < wellCount; ++j) + { + //井组,数据分析... + QTreeWidgetItem *wellItem = wellGroupItem->child(j); + QString wellname = wellItem->text(0); + if(wellname==strWellName)//井 + { + wellItem->setExpanded(true); + int wellItemCount = wellItem->childCount(); // 获取井次数量 + for (int k = 0; k < wellItemCount; ++k) + { + if(strSlfName== wellItem->child(k)->data(0, Qt::UserRole+1).toString())//井次 + { + expandAll(wellItem->child(k)); + } + } + } + } + } + } + return /*pWell*/; +} + void QtProjectWidgets::onEditWelllogRound() { QTreeWidgetItem *wellItem = *ui->treeWidget->selectedItems().begin(); diff --git a/logPlus/qtprojectwidgets.h b/logPlus/qtprojectwidgets.h index db47e53..59541cc 100644 --- a/logPlus/qtprojectwidgets.h +++ b/logPlus/qtprojectwidgets.h @@ -59,6 +59,7 @@ public slots: void onDepthShift(bool checked = false); //深度移动 void onDepthResample(bool checked = false); //深度重采样 void onCurve2Table(bool checked = false); //转换为结论表格 + void onDisplayWave(bool checked = false); //波列曲线预览 void onWaveCompose(bool checked = false); //合成阵列曲线 void onCurveCompute(bool checked = false); //曲线计算 void onInfoEdit(bool checked = false); //属性 @@ -72,6 +73,7 @@ public slots: void onSlfbackup(); //备份井次 void onCutSlf(); //剪切井次 + void slotRefreshData(); //更新数据 void onEditWelllogRound(); void onImportFolder(); //按目录导入测井数据 void onImportSingleWellLogData(); //数据导入