diff --git a/logPlus/formwell.cpp b/logPlus/formwell.cpp index 252d09d..c45808d 100644 --- a/logPlus/formwell.cpp +++ b/logPlus/formwell.cpp @@ -1123,10 +1123,15 @@ void FormWell::getTableSize_Head_Biggest(int &iHight) //获取可视视图大小 tableWidget iHight = 0; - if(ui->tableWidget->rowCount()>0) + int iRowCnt = ui->tableWidget->rowCount(); + if(iRowCnt>0) { //高度 iHight = ui->tableWidget->rowHeight(0); + if(iHight == 0) + { + iHight = 1; + } } // int iHight_Big = 0; diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 6946295..dd956d3 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -273,6 +273,48 @@ void MainWindowCurve::s_setRangeVScrollBar2(QString strUuid) ui->verticalScrollBar_2->setValue(0); } +//窗口居中处理 +void MainWindowCurve::resizeWindow() +{ + // + QRect rect = this->rect(); + int tempWidth = 0; + int tempHight = 0; + + for(int i=0; itableWidget_2->columnCount(); i++) + { + tempWidth += ui->tableWidget_2->columnWidth(i); + tempWidth += 1; + } + // + for(int j=0; jtableWidget_2->rowCount(); j++) + { + tempHight += ui->tableWidget_2->rowHeight(j); + tempHight += 1; + } + + //预览图 + if(g_bPreviewPrint) + { + ui->tableWidget_2->move(0, 2); + //ui->tableWidget_2->setGeometry(0, 2, tempWidth, tempHight); + } + else + { + //调整大小 + if(rect.width()>tempWidth) + { + ui->tableWidget_2->move((rect.width()-tempWidth)/2, 2); + //ui->tableWidget_2->setGeometry((rect.width()-tempWidth)/2, 2, tempWidth, tempHight); + } + else + { + ui->tableWidget_2->move(0, 2); + //ui->tableWidget_2->setGeometry(0, 2, tempWidth, tempHight); + } + } +} + //2个滚动条位置 void MainWindowCurve::SetScrollBar_Geometry() { @@ -394,9 +436,9 @@ void MainWindowCurve::vertScrollBarChanged_Head(int value) int iHight1=0; int iHight2=0; int iHight3=0; - if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) + if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) { - auto myWidget = ui->tableWidget_2->cellWidget(1, 0); + auto myWidget = ui->tableWidget_2->cellWidget(1, i); if(myWidget) { // @@ -406,6 +448,7 @@ void MainWindowCurve::vertScrollBarChanged_Head(int value) widgetWell->getRowHeight_Well(iHight1, iHight2, iHight3); // widgetWell->setRowHeight_Well(iHight1, 100+value, iHight3); + //widgetWell->update(); } } } @@ -482,9 +525,9 @@ void MainWindowCurve::vertScrollBarChanged(int iValue) // continue; // } // // -// if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) +// if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) // { -// auto myWidget = ui->tableWidget_2->cellWidget(1, 0); +// auto myWidget = ui->tableWidget_2->cellWidget(1, i); // if(myWidget) // { // // @@ -575,7 +618,7 @@ void MainWindowCurve::initMainToolBar() QIcon SaveAsSvgIcon(::GetImagePath()+"icon/ExportSVG.png"); QIcon doubleHeadIcon(::GetImagePath()+"icon/oneortwohead.png"); QIcon autorollIcon(::GetImagePath()+"icon/autoroll.png"); - QIcon blackIcon(::GetImagePath()+"icon/image/black.png"); + QIcon blackIcon(::GetImagePath()+"icon/black.png"); QIcon zoominIcon(::GetImagePath()+"icon/zoomin.png"); QIcon zoomoutIcon(::GetImagePath()+"icon/zoomout.png"); @@ -594,6 +637,7 @@ void MainWindowCurve::initMainToolBar() m_executeDepthShiftAc = new QAction(executeDepthShiftIcon, "校深", this); m_joindepthAc = new QAction(joindepthIcon, "拼接", this); m_autorollAc = new QAction(autorollIcon, "图像自滚", this); + m_PreviewPrintAc = new QAction(blackIcon, "预览图", this); m_ModuleOpenAc = new QAction(ModuleOpenIcon, "处理方法", this); ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //此种方式为文字显示在图标右侧 @@ -615,6 +659,7 @@ void MainWindowCurve::initMainToolBar() ui->mainToolBar->addAction(m_executeDepthShiftAc); //校深 ui->mainToolBar->addAction(m_joindepthAc); //拼接 ui->mainToolBar->addAction(m_autorollAc); //图像自滚 + //ui->mainToolBar->addAction(m_PreviewPrintAc); //预览图 ui->mainToolBar->addAction(m_ModuleOpenAc); //处理方法 // 设置为可选中 @@ -625,6 +670,7 @@ void MainWindowCurve::initMainToolBar() m_executeDepthShiftAc->setCheckable(true); //校深 m_joindepthAc->setCheckable(true); //拼接 m_autorollAc->setCheckable(true); //图像自滚 + m_PreviewPrintAc->setCheckable(true); //预览图 connect(m_selectWellAc, &QAction::triggered, this, &MainWindowCurve::s_selectWell); connect(m_fixwellsectionHeaderAc, &QAction::triggered, this, &MainWindowCurve::s_showHeadTable); @@ -642,6 +688,7 @@ void MainWindowCurve::initMainToolBar() 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_PreviewPrintAc, &QAction::triggered, this, &MainWindowCurve::s_PreviewPrint); connect(m_ModuleOpenAc, &QAction::triggered, this, &MainWindowCurve::s_ModuleOpen); connect(CallManage::getInstance(), SIGNAL(sig_SaveAsPicture()), this, SLOT(s_SaveAsPicture())); @@ -2983,6 +3030,21 @@ void MainWindowCurve::onTimer() } } +//预览图 +void MainWindowCurve::s_PreviewPrint() +{ + // + if(m_PreviewPrintAc->isChecked()) + { + g_bPreviewPrint = true; + } + else + { + g_bPreviewPrint = false; + } + resizeWindow(); +} + //校深 void MainWindowCurve::s_ExecuteDepthShift() { @@ -6011,9 +6073,9 @@ void MainWindowCurve::getTableSize_Head_Biggest(int &iHight) continue; } // - if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) + if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) { - auto myWidget = ui->tableWidget_2->cellWidget(1, 0); + auto myWidget = ui->tableWidget_2->cellWidget(1, i); if(myWidget) { // @@ -6128,9 +6190,9 @@ void MainWindowCurve::HideTableHead() continue; } // - if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) + if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) { - auto myWidget = ui->tableWidget_2->cellWidget(1, 0); + auto myWidget = ui->tableWidget_2->cellWidget(1, i); if(myWidget) { // @@ -6164,9 +6226,9 @@ void MainWindowCurve::ShowTableHead() continue; } // - if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) + if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) { - auto myWidget = ui->tableWidget_2->cellWidget(1, 0); + auto myWidget = ui->tableWidget_2->cellWidget(1, i); if(myWidget) { // @@ -6201,9 +6263,9 @@ void MainWindowCurve::ShowTableHead_All() int iHight1=0; int iHight2=0; int iHight3=0; - if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) + if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) { - auto myWidget = ui->tableWidget_2->cellWidget(1, 0); + auto myWidget = ui->tableWidget_2->cellWidget(1, i); if(myWidget) { // @@ -6239,9 +6301,9 @@ void MainWindowCurve::ShowTableHead_One() int iHight1=0; int iHight2=0; int iHight3=0; - if( ui->tableWidget_2->cellWidget(1, 0) != nullptr ) + if( ui->tableWidget_2->cellWidget(1, i) != nullptr ) { - auto myWidget = ui->tableWidget_2->cellWidget(1, 0); + auto myWidget = ui->tableWidget_2->cellWidget(1, i); if(myWidget) { // diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index e40fd0e..fbffb8d 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -110,7 +110,8 @@ public: //图像自滚定时器 QTimer *m_clockTimer = nullptr; bool m_bShowTrackHead = true; //显示道头 - + //预览图 + bool g_bPreviewPrint = false; public: //黑白图,针对共享内存,使用老版本代码,需要以下定义 //整图放大缩小比例 @@ -223,6 +224,8 @@ public slots: //重新设置滚动条范围 void s_setRangeVScrollBar2(QString strUuid); + //窗口居中处理 + void resizeWindow(); public: QAction* m_selectWellAc = nullptr; //选择井 @@ -239,6 +242,7 @@ public: QAction* m_executeDepthShiftAc = nullptr; //校深 QAction* m_joindepthAc = nullptr; //拼接 QAction* m_autorollAc = nullptr; //图像自滚 + QAction* m_PreviewPrintAc = nullptr; //预览图 QAction* m_ModuleOpenAc = nullptr; //处理方法 public slots: @@ -329,6 +333,7 @@ public slots: void s_ExecuteDepthShift(); //校深 void s_ExecuteMerge(); //拼接 void s_Autoroll(); //图像自滚 + void s_PreviewPrint(); //预览图 void s_ModuleOpen(); //处理算法 // void _slotExport(QPrinter &printer, int IsBmp, QString pngName, QString strTmpName);