From d0c4bbc89f79cc7f6a4625bc82a01b924354c576 Mon Sep 17 00:00:00 2001 From: jiayulong Date: Thu, 21 May 2026 16:34:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E6=94=BE=E5=A4=A7=E3=80=81?= =?UTF-8?q?=E7=BC=A9=E5=B0=8F=E5=8A=9F=E8=83=BD=EF=BC=8C=E7=9B=AE=E5=89=8D?= =?UTF-8?q?=E7=AE=80=E5=8C=96=E4=B8=BA=E9=92=88=E5=AF=B9=E9=81=93=E5=AE=BD?= =?UTF-8?q?=E7=9A=84=E6=94=BE=E5=A4=A7=E7=BC=A9=E5=B0=8F=E3=80=82=E6=B7=B1?= =?UTF-8?q?=E5=BA=A6=E4=BE=9D=E7=84=B6=E9=87=87=E7=94=A8=E6=AF=94=E4=BE=8B?= =?UTF-8?q?=E5=B0=BA=EF=BC=8C=E4=B8=8D=E7=84=B6=E6=B7=B1=E5=BA=A6=E6=AF=94?= =?UTF-8?q?=E4=BE=8B=E5=AE=B9=E6=98=93=E6=B7=B7=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logPlus/formwell.cpp | 49 ++++++++++++++++++++ logPlus/formwell.h | 1 + logPlus/mainwindowcurve.cpp | 90 ++++++++++++++++++++++++++++--------- logPlus/mainwindowcurve.h | 21 +++++---- logPlus/selectwelldialog.ui | 2 +- 5 files changed, 132 insertions(+), 31 deletions(-) diff --git a/logPlus/formwell.cpp b/logPlus/formwell.cpp index bd6b6d4..359b0e3 100644 --- a/logPlus/formwell.cpp +++ b/logPlus/formwell.cpp @@ -673,6 +673,55 @@ int FormWell::setColWidth(int iCurrentCol, float fWidth) return iWellWidth; } +int FormWell::setColWidth_ZoomIn(float fNewZoom) +{ + int newColCount = ui->tableWidget->columnCount(); + for (int i = 0; i < newColCount; i++) + { + int iCurrentCol = i; + + auto topWidget = ui->tableWidget->cellWidget(0, iCurrentCol); + if(topWidget) + { + FormTrackTop *formTop = qobject_cast(topWidget);//获得widget + if(formTop) + { + float fWidth = formTop->m_nTrackW * fNewZoom;//放大 + int iNewWidth = static_cast(fWidth * g_dPixelPerCm); + //设置列宽 + ui->tableWidget->setColumnWidth(iCurrentCol, iNewWidth); + formTop->m_nTrackW = fWidth; + + //------------------------------------- + auto myWidget = ui->tableWidget->cellWidget(2, iCurrentCol); + if(myWidget) + { + // + FormDraw *formDraw = qobject_cast(myWidget);//获得widget + if(formDraw) + { + if (formDraw->m_formTrack) + { + formDraw->m_formTrack->setFixedWidth(iNewWidth); + } + formDraw->setColWidth(fWidth); + } + } + } + } + } + + //计算井宽 + int iWellWidth = 0; + int columnCount = ui->tableWidget->columnCount();//总列数 + for(int i=0; itableWidget->columnWidth(i); + } + return iWellWidth; +} + + void FormWell::setWellProperty(QVariantList listVal) { QString strGroup = listVal.at(0).toString(); diff --git a/logPlus/formwell.h b/logPlus/formwell.h index 334ab6b..93525a5 100644 --- a/logPlus/formwell.h +++ b/logPlus/formwell.h @@ -78,6 +78,7 @@ public: void setRowHeight(double dHight, QProgressBar *progressBar, int iSplit); //设置道宽 int setColWidth(int iCurrentCol, float iNewWidth); + int setColWidth_ZoomIn(float fNewZoom); void setWellProperty(QVariantList listVal); diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 2bb28db..f70f30f 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -362,9 +362,8 @@ void MainWindowCurve::initMainToolBar() ui->mainToolBar->setIconSize(toolIconSize); //设置工具栏图标大小 ui->mainToolBar->setStyleSheet("QToolButton:checked { background-color: rgb(188,216,239); }"); - QIcon selectWellIcon(::GetImagePath()+"icon/WellTops.png"); + QIcon selectWellIcon(::GetImagePath()+"icon/SelectWells.png"); QIcon fixwellsectionHeaderIcon(::GetImagePath()+"icon/fixwellsectionHeader.png"); - QIcon currtempliteIcon(::GetImagePath()+"icon/currtemplite.png"); QIcon saveastemplateIcon(::GetImagePath()+"icon/SaveAsTemplate.png"); QIcon executeDepthShiftIcon(::GetImagePath()+"icon/ExecuteDepthShift.png"); QIcon joindepthIcon(::GetImagePath()+"icon/joindepth.png"); @@ -375,40 +374,44 @@ void MainWindowCurve::initMainToolBar() QIcon doubleHeadIcon(::GetImagePath()+"icon/oneortwohead.png"); QIcon autorollIcon(::GetImagePath()+"icon/autoroll.png"); QIcon blackIcon(::GetImagePath()+"icon/image/black.png"); + QIcon zoominIcon(::GetImagePath()+"icon/zoomin.png"); + QIcon zoomoutIcon(::GetImagePath()+"icon/zoomout.png"); //Main工具栏 - m_selectWellAc = new QAction(selectWellIcon, "选择井", this); + m_selectWellAc = new QAction(selectWellIcon, "设置井", this); m_fixwellsectionHeaderAc = new QAction(fixwellsectionHeaderIcon, "锁头", this); - m_currtempliteAc = new QAction(currtempliteIcon, "加载图文件", this); m_saveastemplateAc = new QAction(saveastemplateIcon, "另存为图文件", this); + m_zoominAc = new QAction(zoominIcon, "放大", this); + m_zoomoutAc = new QAction(zoomoutIcon, "缩小", this); + m_SaveAsPictureAc = new QAction(SaveAsPictureIcon, "导出长图", this); + m_SaveAsPdfAc = new QAction(SaveAsPdfIcon, "导出PDF", this); + m_SaveAsSvgAc = new QAction(SaveAsSvgIcon, "导出SVG", this); m_blackAc = new QAction(blackIcon, "黑白图", this); m_doubleHeadAc = new QAction(doubleHeadIcon, "单曲线头", this); m_executeDepthShiftAc = new QAction(executeDepthShiftIcon, "校深", this); m_joindepthAc = new QAction(joindepthIcon, "拼接", this); m_autorollAc = new QAction(autorollIcon, "图像自滚", this); m_ModuleOpenAc = new QAction(ModuleOpenIcon, "处理方法", this); - m_SaveAsPictureAc = new QAction(SaveAsPictureIcon, "导出长图", this); - m_SaveAsPdfAc = new QAction(SaveAsPdfIcon, "导出PDF", this); - m_SaveAsSvgAc = new QAction(SaveAsSvgIcon, "导出SVG", this); ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //此种方式为文字显示在图标右侧 //add QAction to Widget. ui->mainToolBar->addAction(m_selectWellAc); ui->mainToolBar->addAction(m_fixwellsectionHeaderAc); //锁头 - //ui->mainToolBar->addAction(m_currtempliteAc); ui->mainToolBar->addAction(m_saveastemplateAc); //另存为图文件 ui->mainToolBar->addSeparator(); + ui->mainToolBar->addAction(m_zoominAc); //放大 + ui->mainToolBar->addAction(m_zoomoutAc); //缩小 + ui->mainToolBar->addAction(m_SaveAsPictureAc); //导出长图 + ui->mainToolBar->addAction(m_SaveAsPdfAc); //导出PDF + ui->mainToolBar->addAction(m_SaveAsSvgAc); //导出SVG + ui->mainToolBar->addSeparator(); ui->mainToolBar->addAction(m_blackAc); //黑白图 ui->mainToolBar->addAction(m_doubleHeadAc); //单曲线头 ui->mainToolBar->addAction(m_executeDepthShiftAc); //校深 ui->mainToolBar->addAction(m_joindepthAc); //拼接 ui->mainToolBar->addAction(m_autorollAc); //图像自滚 ui->mainToolBar->addAction(m_ModuleOpenAc); //处理方法 - ui->mainToolBar->addSeparator(); - ui->mainToolBar->addAction(m_SaveAsPictureAc); //导出长图 - ui->mainToolBar->addAction(m_SaveAsPdfAc); //导出PDF - ui->mainToolBar->addAction(m_SaveAsSvgAc); //导出SVG // 设置为可选中 m_fixwellsectionHeaderAc->setCheckable(true); //锁头 @@ -420,19 +423,20 @@ void MainWindowCurve::initMainToolBar() connect(m_selectWellAc, &QAction::triggered, this, &MainWindowCurve::s_selectWell); connect(m_fixwellsectionHeaderAc, &QAction::triggered, this, &MainWindowCurve::s_showHeadTable); - connect(m_currtempliteAc, &QAction::triggered, this, &MainWindowCurve::s_currtemplite); connect(m_saveastemplateAc, &QAction::triggered, this, &MainWindowCurve::s_Save); + connect(m_zoominAc, &QAction::triggered, this, &MainWindowCurve::s_ZoomIn); + connect(m_zoomoutAc, &QAction::triggered, this, &MainWindowCurve::s_ZoomOut); + connect(m_SaveAsPictureAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsPicture); + connect(m_SaveAsPdfAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsPdf); + connect(m_SaveAsSvgAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsSvg); + connect(m_blackAc, &QAction::triggered, this, &MainWindowCurve::s_Black); connect(m_doubleHeadAc, &QAction::triggered, this, &MainWindowCurve::s_DoubleHead); connect(m_executeDepthShiftAc, &QAction::triggered, this, &MainWindowCurve::s_ExecuteDepthShift); connect(m_joindepthAc, &QAction::triggered, this, &MainWindowCurve::s_ExecuteMerge); connect(m_autorollAc, &QAction::triggered, this, &MainWindowCurve::s_Autoroll); - connect(m_ModuleOpenAc, &QAction::triggered, this, &MainWindowCurve::s_ModuleOpen); - connect(m_SaveAsPictureAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsPicture); - connect(m_SaveAsPdfAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsPdf); - connect(m_SaveAsSvgAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsSvg); connect(CallManage::getInstance(), SIGNAL(sig_SaveAsPicture()), this, SLOT(s_SaveAsPicture())); connect(CallManage::getInstance(), SIGNAL(sig_SaveAsPdf()), this, SLOT(s_SaveAsPdf())); @@ -2639,11 +2643,6 @@ void MainWindowCurve::loadStyle(const QString &qssFile) } } -void MainWindowCurve::s_currtemplite() -{ - -} - void MainWindowCurve::s_Save() { //Logdata @@ -2796,6 +2795,53 @@ void MainWindowCurve::s_ModuleOpen() m_pParentWin->setModuleOpenOrClose(); } +//缩放 +void MainWindowCurve::ZoomIn(float fNewZoom) +{ + int columnCount = ui->tableWidget_2->columnCount();//总列数 + for(int i=0; itableWidget_2->cellWidget(1, i) != nullptr ) + { + auto myWidget = ui->tableWidget_2->cellWidget(1, i); + if(myWidget) + { + // + FormWell *widgetWell = (FormWell*)myWidget;//获得widget + if(widgetWell) + { + int iWellWidth = widgetWell->setColWidth_ZoomIn(fNewZoom); + + //调整井宽 + ui->tableWidget_2->setColumnWidth(i, iWellWidth); + } + } + } + } +} + +//放大 +void MainWindowCurve::s_ZoomIn() +{ + //宽度放大 + ZoomIn(1.1); +} + +//缩小 +void MainWindowCurve::s_ZoomOut() +{ + //宽度缩小 + ZoomIn(0.9); +} //导出长图 void MainWindowCurve::s_SaveAsPicture() diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index 33b6f33..bcbf4c7 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -209,17 +209,18 @@ public slots: public: QAction* m_selectWellAc = nullptr; //选择井 QAction* m_fixwellsectionHeaderAc = nullptr; //锁头 - QAction* m_currtempliteAc = nullptr; //加载图文件 QAction* m_saveastemplateAc = nullptr; //另存为图文件 + QAction* m_zoominAc = nullptr; //放大 + QAction* m_zoomoutAc = nullptr; //缩小 + QAction* m_SaveAsPictureAc = nullptr; //导出长图 + QAction* m_SaveAsPdfAc = nullptr; //导出PDF + QAction* m_SaveAsSvgAc = nullptr; //导出SVG QAction* m_blackAc = nullptr; //黑白图 QAction* m_doubleHeadAc = nullptr; //单曲线头 QAction* m_executeDepthShiftAc = nullptr; //校深 QAction* m_joindepthAc = nullptr; //拼接 QAction* m_autorollAc = nullptr; //图像自滚 QAction* m_ModuleOpenAc = nullptr; //处理方法 - QAction* m_SaveAsPictureAc = nullptr; //导出长图 - QAction* m_SaveAsPdfAc = nullptr; //导出PDF - QAction* m_SaveAsSvgAc = nullptr; //导出SVG public slots: void s_NewWell(QString strWellName, QString strSlfName);//新建井 @@ -297,17 +298,18 @@ public slots: // void s_selectWell(); //选择井 void s_showHeadTable(); //显示/隐藏图头 - void s_currtemplite(); //加载图文件 void s_Save(); //保存图文件 + void s_SaveAsPicture(); //导出长图 + void s_SaveAsPdf(); //导出PDF + void s_SaveAsSvg(); //导出SVG + void s_ZoomIn(); //放大 + void s_ZoomOut(); //缩小 void s_Black(); //黑白图 void s_DoubleHead(); //单曲线头 void s_ExecuteDepthShift(); //校深 void s_ExecuteMerge(); //拼接 void s_Autoroll(); //图像自滚 void s_ModuleOpen(); //处理算法 - void s_SaveAsPicture(); //导出长图 - void s_SaveAsPdf(); //导出PDF - void s_SaveAsSvg(); //导出SVG // void _slotExport(QPrinter &printer, int IsBmp, QString pngName, QString strTmpName); //打印出图,改变深度 @@ -315,6 +317,9 @@ public slots: //图像自滚,定时器处理 void onTimer(); + + //缩放 + void ZoomIn(float fNewZoom); }; #endif // MAINWINDOWCURVE_H diff --git a/logPlus/selectwelldialog.ui b/logPlus/selectwelldialog.ui index b860203..80db89e 100644 --- a/logPlus/selectwelldialog.ui +++ b/logPlus/selectwelldialog.ui @@ -11,7 +11,7 @@ - 选择井 + 设置井