From 752c7347c9f8a1f5962754516856d830cba0319b Mon Sep 17 00:00:00 2001 From: "DESKTOP-450PEFP\\mainc" Date: Tue, 16 Dec 2025 16:33:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=B7=A6=E4=BE=A7=E6=A0=91?= =?UTF-8?q?=E4=BA=95=E5=90=8D=E7=A7=B0=20=EF=BC=8C=20=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=8F=AF=E8=A7=86=E8=A7=A3=E9=87=8A=EF=BC=8C=E5=9C=A8=E7=A9=BA?= =?UTF-8?q?=E7=99=BD=20MainWindowCurve=EF=BC=8C=20=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E6=B7=B1=E5=BA=A6=E7=94=9F=E6=88=90=E4=BA=95=E3=80=81=E9=81=93?= =?UTF-8?q?=E3=80=81=E6=B7=B1=E5=BA=A6=E8=A7=86=E5=9B=BE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logPlus/mainwindow.cpp | 4 ++++ logPlus/mainwindowcurve.cpp | 35 ++++++++++++++++++++++++++++++++--- logPlus/mainwindowcurve.h | 3 +++ logPlus/qmycustomplot.cpp | 9 ++++++--- logPlus/qmytreewidget.cpp | 24 ++++++++++++++++++++++++ logPlus/qmytreewidget.h | 1 + logPlus/qtprojectwidgets.cpp | 5 +++++ logPlus/qtprojectwidgets.h | 2 ++ 8 files changed, 77 insertions(+), 6 deletions(-) diff --git a/logPlus/mainwindow.cpp b/logPlus/mainwindow.cpp index 0c066c2..6c27b8b 100644 --- a/logPlus/mainwindow.cpp +++ b/logPlus/mainwindow.cpp @@ -379,6 +379,8 @@ void MainWindow::s_showView() { //---- MainWindowCurve *mainWindowCurve = new MainWindowCurve();//中间工作区 + // 左侧树 + mainWindowCurve->m_leftWidgets = m_projectWidgets; m_centerWidgets->addTab(mainWindowCurve, "解释视图"); return; } @@ -388,6 +390,8 @@ void MainWindow::s_showView() //---- MainWindowCurve *mainWindowCurve = new MainWindowCurve();//中间工作区 + // 左侧树 + mainWindowCurve->m_leftWidgets = m_projectWidgets; m_centerWidgets->addTab(mainWindowCurve, fileName); mainWindowCurve->Open(fileFull); diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 31b40f0..655a6f0 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -657,12 +657,43 @@ void MainWindowCurve::s_NewTrack() void MainWindowCurve::s_NewDepth() { + int column = -1; + int nW = 100; + QString strLeft = m_leftWidgets->getLeftTreeString(); + if(strLeft.length() > 0) + { + QStringList list = strLeft.split("#@@#");//QString字符串分割函数 + if (list.size() > 3) + { + // QString strSlfName = list[0]; + QString strWellName = list[1]; + // QString strLineName = list[2]; + // QString strType = list[3]; + + if(!m_listWell.contains(strWellName)) + { + //井没创建,创建井+道+曲线 + //新建井 + s_NewWell(strWellName); + m_listWell.push_back(strWellName); + + column= 0; + } + } + } + if(ui->tableWidget_2->columnCount()==0) { return; } - int column = ui->tableWidget_2->currentColumn();//列编号从0开始 + int iWidth = 0; + if(column < 0) + { + column = ui->tableWidget_2->currentColumn();//列编号从0开始 + iWidth = ui->tableWidget_2->columnWidth(column); + } + if(column<0) { //当前没有选中井 @@ -679,9 +710,7 @@ void MainWindowCurve::s_NewDepth() } QString strWellName = ui->tableWidget_2->item(0, column)->text(); - int iWidth = ui->tableWidget_2->columnWidth(column); - int nW = 100; //设置列宽 ui->tableWidget_2->setColumnWidth(column, iWidth+nW+8); diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index e91bea3..f7512ce 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -5,6 +5,7 @@ #include "formwell.h" #include "geometryutils.h" #include "formmultiheads.h" +#include "qtprojectwidgets.h" #pragma execution_character_set("utf-8") @@ -59,6 +60,8 @@ public: QDockWidget *m_dock1; + QtProjectWidgets *m_leftWidgets = NULL; //左侧工程区 + public: //展示所有井 void DisplayWells(QJsonArray wellsArray); diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index 0638ff3..68b2ecf 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -507,9 +507,12 @@ void QMyCustomPlot::s_ClearFillMode(QString strUuid, QString strSlfName, QString { this->removeGraph(1); } - graph(0)->setBrush(Qt::NoBrush); - // - replot(); + if(graph(0)) + { + graph(0)->setBrush(Qt::NoBrush); + // + replot(); + } } } diff --git a/logPlus/qmytreewidget.cpp b/logPlus/qmytreewidget.cpp index a1044d9..3c5b847 100644 --- a/logPlus/qmytreewidget.cpp +++ b/logPlus/qmytreewidget.cpp @@ -13,6 +13,30 @@ QMyTreeWidget::~QMyTreeWidget() } +QString QMyTreeWidget::getCurrentItemString() +{ + QString sret = ""; + QTreeWidgetItem *item = currentItem(); + if(!item) + return sret; + if(item->parent()==NULL) + { + return sret; + } + + QString strTreeTag = item->data(0, Qt::UserRole).toString(); + if (strTreeTag == "wellItem") + { + //曲线 + QString strSlfName = item->data(0, Qt::UserRole+1).toString(); + //井名 + QString strWellName = item->text(0); + + sret = strSlfName + "#@@#"+ strWellName + "#@@#" +item->text(0)+ "#@@#" + strTreeTag; + } + return sret; +} + void QMyTreeWidget::startDrag(Qt::DropActions supportedActions) { if(currentItem()->parent()==NULL) diff --git a/logPlus/qmytreewidget.h b/logPlus/qmytreewidget.h index 3180ce0..8de466d 100644 --- a/logPlus/qmytreewidget.h +++ b/logPlus/qmytreewidget.h @@ -17,6 +17,7 @@ public: QMyTreeWidget(QWidget *parent = nullptr); ~QMyTreeWidget(); + QString getCurrentItemString(); protected: virtual void startDrag(Qt::DropActions supportedActions); diff --git a/logPlus/qtprojectwidgets.cpp b/logPlus/qtprojectwidgets.cpp index e326d1e..9f437b6 100644 --- a/logPlus/qtprojectwidgets.cpp +++ b/logPlus/qtprojectwidgets.cpp @@ -65,6 +65,11 @@ QtProjectWidgets::~QtProjectWidgets() delete ui; } +QString QtProjectWidgets::getLeftTreeString() +{ + return ui->treeWidget->getCurrentItemString(); +} + //初始化树图控件 void QtProjectWidgets::initTreeWidget(QString fullPath, QString strProjectName) { diff --git a/logPlus/qtprojectwidgets.h b/logPlus/qtprojectwidgets.h index 656ad3a..736e1af 100644 --- a/logPlus/qtprojectwidgets.h +++ b/logPlus/qtprojectwidgets.h @@ -18,6 +18,8 @@ public: QtProjectWidgets(QWidget *parent = nullptr); ~QtProjectWidgets(); + QString getLeftTreeString(); + private: Ui::QtProjectWidgetsClass *ui;