diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index b3a28b8..6e8362d 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -259,7 +259,9 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) : isScale[3]=m_isPrint; isScale[4]=m_isBMP; - QTimer::singleShot(100, this, [=]() { + QTimer::singleShot(200, this, [=]() { + QRect rect = this->geometry(); + this->resize(rect.width(), rect.height()+1); // 设置初始大小 //2个滚动条位置 SetScrollBar_Geometry(); }); @@ -447,6 +449,28 @@ void MainWindowCurve::resizeEvent(QResizeEvent *event) //2个滚动条位置 SetScrollBar_Geometry(); + QRect rect2 = ui->centralwidget->geometry(); + int left, top, right, bottom; + if (ui->centralwidget->layout()) + { + ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom); + } + //获取井well前2行的高度 + int iTableSize_Head = 0; + getTableSize_Head(iTableSize_Head); + int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head -1; + //可视区域高度 + int iScreenHeight = 0; + //锁头 + if(m_fixwellsectionHeaderAc->isChecked()) + { + iScreenHeight = (double)(rect2.height()-10- top -bottom - iTableWellTrack_height)/g_dPixelPerCm * m_iScale; + } + else{ + iScreenHeight = (double)(rect2.height()-10- top -bottom)/g_dPixelPerCm * m_iScale; + } + + ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100 - iScreenHeight); } QToolBar * MainWindowCurve::getPluginToolBar() @@ -4234,6 +4258,28 @@ void MainWindowCurve::s_showHeadTable() //2个滚动条位置 SetScrollBar_Geometry(); + + QRect rect2 = ui->centralwidget->geometry(); + int left, top, right, bottom; + if (ui->centralwidget->layout()) + { + ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom); + } + //获取井well前2行的高度 + int iTableSize_Head = 0; + getTableSize_Head(iTableSize_Head); + int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head -1; + //可视区域高度 + int iScreenHeight = 0; + //锁头 + if(m_fixwellsectionHeaderAc->isChecked()) + { + iScreenHeight = (double)(rect2.height()-10- top -bottom - iTableWellTrack_height)/g_dPixelPerCm * m_iScale; + } + else{ + iScreenHeight = (double)(rect2.height()-10- top -bottom)/g_dPixelPerCm * m_iScale; + } + ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100 - iScreenHeight); ui->verticalScrollBar->setValue(-m_iY2*100); //QMessageBox::information(NULL,"提示","锁头完成!",QMessageBox::Ok); @@ -4285,6 +4331,28 @@ void MainWindowCurve::s_showHeadTable() //通过原始的滚动条,整体滚动 //ui->tableWidget_2->verticalScrollBar()->setValue(0); ShowTableHead_All(); + + QRect rect2 = ui->centralwidget->geometry(); + int left, top, right, bottom; + if (ui->centralwidget->layout()) + { + ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom); + } + //获取井well前2行的高度 + int iTableSize_Head = 0; + getTableSize_Head(iTableSize_Head); + int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head -1; + //可视区域高度 + int iScreenHeight = 0; + //锁头 + if(m_fixwellsectionHeaderAc->isChecked()) + { + iScreenHeight = (double)(rect2.height()-10- top -bottom - iTableWellTrack_height)/g_dPixelPerCm * m_iScale; + } + else{ + iScreenHeight = (double)(rect2.height()-10- top -bottom)/g_dPixelPerCm * m_iScale; + } + ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100 - iScreenHeight); ui->verticalScrollBar->setValue(-m_iY2*100); //QMessageBox::information(NULL,"提示","锁头取消!",QMessageBox::Ok); @@ -4442,13 +4510,14 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName, bool bS widgetWell->m_iY2 = m_iY2; widgetWell->m_strUuid = m_strUuid; widgetWell->m_strSlfName = strSlfName; - if(m_iTableSize_Head2>m_nObjLayerH) + if(m_iTableSize_Head2>104) { - widgetWell->m_nObjLyrH = m_iTableSize_Head2; //m_nObjLayerH; + m_nObjLayerH = m_iTableSize_Head2; } else{ - widgetWell->m_nObjLyrH = m_nObjLayerH; + m_nObjLayerH = 104; } + widgetWell->m_nObjLyrH = m_nObjLayerH; widgetWell->m_nObjDrawH = m_nObjDrawH; widgetWell->m_iScale = m_iScale; widgetWell->setWellHeader(wellH); @@ -5498,7 +5567,28 @@ void MainWindowCurve::Open(QString fileFull) qDebug() << "JSON 模板文件读取成功!"; //重置右侧滚动条 - ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100); + QRect rect2 = ui->centralwidget->geometry(); + int left, top, right, bottom; + if (ui->centralwidget->layout()) + { + ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom); + } + //获取井well前2行的高度 + int iTableSize_Head = 0; + getTableSize_Head(iTableSize_Head); + int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head -1; + //可视区域高度 + int iScreenHeight = 0; + //锁头 + if(m_fixwellsectionHeaderAc->isChecked()) + { + iScreenHeight = (double)(rect2.height()-10- top -bottom - iTableWellTrack_height)/g_dPixelPerCm * m_iScale; + } + else{ + iScreenHeight = (double)(rect2.height()-10- top -bottom)/g_dPixelPerCm * m_iScale; + } + ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100 - iScreenHeight); + //ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100); ui->verticalScrollBar->setValue(-m_iY2*100); QMessageBox::information(NULL,"提示","模板加载完成!",QMessageBox::Ok); @@ -5762,7 +5852,29 @@ void MainWindowCurve::s_changeDepth(QString strUuid, QString strSlfName, QString m_iY1 = iY1; m_iY2 = iY2; //自定义滚动条 - ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100); + QRect rect2 = ui->centralwidget->geometry(); + int left, top, right, bottom; + if (ui->centralwidget->layout()) + { + ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom); + } + //获取井well前2行的高度 + int iTableSize_Head = 0; + getTableSize_Head(iTableSize_Head); + int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head -1; + //可视区域高度 + int iScreenHeight = 0; + //锁头 + if(m_fixwellsectionHeaderAc->isChecked()) + { + iScreenHeight = (double)(rect2.height()-10- top -bottom - iTableWellTrack_height)/g_dPixelPerCm * m_iScale; + } + else{ + iScreenHeight = (double)(rect2.height()-10- top -bottom)/g_dPixelPerCm * m_iScale; + } + + ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100 - iScreenHeight); + //ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100); ui->verticalScrollBar->setValue(-m_iY2*100); double dHight = 0;