diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index 533f5e9..c848e4e 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -146,15 +146,12 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo) QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, m_strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; + curv->setDepthY(m_iY1, m_iY2); curv->initGeometry(m_strUuid, m_iScale, nW); curv->show(); if ("waveObject" == strType) { - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; curv->m_nMode = pInfo->getFillTypeIndex(); //curv->m_fmin = pInfo->getVMin(); //curv->m_fmax = pInfo->getVMax(); @@ -2785,8 +2782,7 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; + curv->setDepthY(m_iY1, m_iY2); curv->initGeometry(m_strUuid, m_iScale, m_nTrackW); curv->show(); @@ -2932,25 +2928,6 @@ void FormDraw::s_addLine(QString strUuid, QString strSlfName, QString strWellNam //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; m_curv = curv; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 curv->show(); initForm(curv, strSlfName, strLineName); @@ -2989,36 +2966,6 @@ void FormDraw::s_AddLine_Property(QString strUuid, QString strSlfName, QString s QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - //QRect rect = this->rect(); - //curv->setGeometry(rect.left(),rect.top(), rect.width(), rect.height()); - - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - //curv->setMaximumHeight((int)dHight); - //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 - - - //curv->resize(INT_MAX, INT_MAX); // 使用 INT_MAX 来避免16位整数的限制 - // QSizePolicy policy(QSizePolicy::Expanding, QSizePolicy::Expanding); - // curv->setSizePolicy(policy); curv->show(); initForm(curv, strSlfName, strLineName, @@ -3217,21 +3164,9 @@ void FormDraw::setRowHeight(double dHight, QProgressBar *progressBar, int iSplit QMyCustomPlot *form = (QMyCustomPlot*)childWidget; if(form) { - form->m_iY1 = m_iY1; - form->m_iY2 = m_iY2; int nw = form->geometry().width(); - form->setGeometry(0, 0, nw, (int)dHight);//7500-3184 - //深度改变 - if(form->m_bX2Y == true) - { - //默认调换 - form->xAxis->setRange(m_iY1, m_iY2); - } - else - { - //针对裂缝的横向波形图,X,Y轴不调换 - form->yAxis->setRange(m_iY1, m_iY2); - } + form->setGeometry(0, 0, nw-2, (int)dHight);//7500-3184 + form->updateDepthY(m_iY1, m_iY2); //emit CallManage::getInstance()->sig_ChangeLeftScale(m_strUuid, form->m_strSlfName, m_strWellName, m_strTrackName, form->m_strLineName, form->m_iX1); @@ -3635,35 +3570,8 @@ void FormDraw::s_addGanZuangTu(QString strUuid, QString strSlfName, QString strW //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - //QRect rect = this->rect(); - //curv->setGeometry(rect.left(),rect.top(), rect.width(), rect.height()); - - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - //curv->setMaximumHeight((int)dHight); - //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 - - - //curv->resize(INT_MAX, INT_MAX); // 使用 INT_MAX 来避免16位整数的限制 - // QSizePolicy policy(QSizePolicy::Expanding, QSizePolicy::Expanding); - // curv->setSizePolicy(policy); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->show(); @@ -3710,22 +3618,13 @@ void FormDraw::s_addGanZuangTu(QString strUuid, QString strSlfName, QString strW curv->yAxis->setTickLabelSide(QCPAxis::lsInside); QFont font1("微软雅黑", 16); //fontSize 10 curv->yAxis->setTickLabelFont(font1); - - curv->yAxis->setRange(m_iY1, m_iY2); - curv->axisRect()->setupFullAxesBox(); // // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 // curv->yAxis->ticker()->setTickCount(60);//y个主刻度 int iMyWidth = curv->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - curv->m_iX1 = vmin; - curv->m_iX2 = iMyWidth; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; - // - curv->xAxis->setRange(vmin, vmax); - curv->yAxis->setRange(m_iY1, m_iY2); + curv->setScaleX(vmin, vmax); curv->axisRect()->setupFullAxesBox(); // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -3791,31 +3690,8 @@ void FormDraw::s_addJykt(QString strUuid, QString strSlfName, QString strWellNam QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - //QRect rect = this->rect(); - //curv->setGeometry(rect.left(),rect.top(), rect.width(), rect.height()); - - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - //curv->setMaximumHeight((int)dHight); - //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 - + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); //curv->resize(INT_MAX, INT_MAX); // 使用 INT_MAX 来避免16位整数的限制 // QSizePolicy policy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -3862,35 +3738,8 @@ void FormDraw::s_addDenv(QString strUuid, QString strSlfName, QString strWellNam QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - //QRect rect = this->rect(); - //curv->setGeometry(rect.left(),rect.top(), rect.width(), rect.height()); - - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - //curv->setMaximumHeight((int)dHight); - //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 - - - //curv->resize(INT_MAX, INT_MAX); // 使用 INT_MAX 来避免16位整数的限制 - // QSizePolicy policy(QSizePolicy::Expanding, QSizePolicy::Expanding); - // curv->setSizePolicy(policy); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->show(); @@ -3933,36 +3782,6 @@ void FormDraw::s_addDrawImage(QString strUuid, QString strSlfName, QString strWe QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - //QRect rect = this->rect(); - //curv->setGeometry(rect.left(),rect.top(), rect.width(), rect.height()); - - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - //curv->setMaximumHeight((int)dHight); - //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 - - - //curv->resize(INT_MAX, INT_MAX); // 使用 INT_MAX 来避免16位整数的限制 - // QSizePolicy policy(QSizePolicy::Expanding, QSizePolicy::Expanding); - // curv->setSizePolicy(policy); - curv->show(); //图像 成像 @@ -4070,25 +3889,6 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 curv->show(); //------------------- @@ -4098,14 +3898,11 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa int iMyWidth = curv->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - curv->m_iX1 = vmin; - curv->m_iX2 = vmax; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; - // - curv->xAxis->setRange(vmin, vmax); - curv->yAxis->setRange(m_iY1, m_iY2); - curv->axisRect()->setupFullAxesBox(); + + curv->setScaleX(vmin, vmax); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); + curv->axisRect()->setupFullAxesBox(); // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 curv->yAxis->ticker()->setTickCount(60);//y个主刻度 @@ -4160,25 +3957,6 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 curv->show(); //------------------- @@ -4189,13 +3967,10 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe float vmax = iMyWidth; float vmin = 0; - curv->m_iX1 = vmin; - curv->m_iX2 = vmax; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; // - curv->xAxis->setRange(vmin, vmax); - curv->yAxis->setRange(m_iY1, m_iY2); + curv->setScaleX(vmin, vmax); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->axisRect()->setupFullAxesBox(); // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -4287,25 +4062,6 @@ void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWell QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 curv->show(); //------------------- @@ -4316,13 +4072,9 @@ void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWell float vmax = iMyWidth; float vmin = 0; - curv->m_iX1 = vmin; - curv->m_iX2 = vmax; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; - // - curv->xAxis->setRange(vmin, vmax); - curv->yAxis->setRange(m_iY1, m_iY2); + curv->setScaleX(vmin, vmax); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->axisRect()->setupFullAxesBox(); // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -4412,25 +4164,6 @@ void FormDraw::s_addMCals(QString strUuid, QString strSlfName, QString strWellNa QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 curv->show(); //------------------- @@ -4441,13 +4174,9 @@ void FormDraw::s_addMCals(QString strUuid, QString strSlfName, QString strWellNa float vmax = iMyWidth; float vmin = 0; - curv->m_iX1 = vmin; - curv->m_iX2 = vmax; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; - // - curv->xAxis->setRange(vmin, vmax); - curv->yAxis->setRange(m_iY1, m_iY2); + curv->setScaleX(vmin, vmax); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->axisRect()->setupFullAxesBox(); // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -4500,25 +4229,6 @@ void FormDraw::s_addTubingstring(QString strUuid, QString strSlfName, QString st QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); //绑定m_formTrack,方便关联formInfo curv->m_formTrack = m_formTrack; - curv->m_strUuid = m_strUuid; - //背景设置成透明色 - curv->setBackground(Qt::transparent); - curv->setStyleSheet("background: transparent;"); - // - double dHight = 0; - dHight = (m_iY2-m_iY1)*100.0/(double)m_iScale * g_dPixelPerCm; - if(g_iShow==1) - { - //显示刻度 - dHight = dHight+30; - } - qDebug() << "FormDraw dHight=" << QString::number((int)dHight); - if(dHight>32767) - { - dHight = 32767; - } - - curv->setGeometry(0, 0, g_iOneWidth, (int)dHight);//7500-3184 curv->show(); //------------------- @@ -4591,13 +4301,9 @@ void FormDraw::s_addTubingstring(QString strUuid, QString strSlfName, QString st m_LeftVal = 0; m_RightVal = iMyWidth; // - curv->m_iX1 = vmin; - curv->m_iX2 = vmax; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; - // - curv->xAxis->setRange(vmin, vmax); - curv->yAxis->setRange(m_iY1, m_iY2); + curv->setScaleX(vmin, vmax); + curv->setDepthY(m_iY1, m_iY2); + curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->axisRect()->setupFullAxesBox(); // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -4809,13 +4515,10 @@ void FormDraw::initForm(QMyCustomPlot *widget, QString strSlfName, QString strLi // double y2 = widget->yAxis->pixelToCoord(rect.bottom()); // }); - widget->m_iX1 = vmin; - widget->m_iX2 = vmax; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, vmax); + widget->setDepthY(m_iY1, m_iY2); + widget->initGeometry(m_strUuid, m_iScale, g_iOneWidth); + widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5267,16 +4970,9 @@ void FormDraw::DrawImageNew_NoFilter(QMyCustomPlot *widget, QString strSlfName, } delete[] value; - // m_iY1 = 0.0 -_EDep; - // m_iY2 = 0.0 -_SDep; - //------------------------ - widget->m_iX1 = vmin; - widget->m_iX2 = vmax; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, vmax); + widget->setDepthY(m_iY1, m_iY2); + widget->initGeometry(m_strUuid, m_iScale, g_iOneWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5468,13 +5164,8 @@ void FormDraw::initTableLine(QMyCustomPlot *widget, QString strSlfName, QString int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5523,13 +5214,7 @@ void FormDraw::initWords(QMyCustomPlot *widget, QString strSlfName, QString strL int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5573,13 +5258,7 @@ void FormDraw::initLayer(QMyCustomPlot *widget, QString strSlfName, QString strL int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5626,13 +5305,7 @@ void FormDraw::initIMAGE_DATA(QMyCustomPlot *widget, QString strSlfName, QString int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, vmax); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5737,13 +5410,7 @@ void FormDraw::initResult(QMyCustomPlot *widget, QString strSlfName, QString str int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5839,13 +5506,7 @@ void FormDraw::initGeoLith(QMyCustomPlot *widget, QString strSlfName, QString st int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -5953,13 +5614,7 @@ void FormDraw::initSwallCore(QMyCustomPlot *widget, QString strSlfName, QString int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -6005,13 +5660,7 @@ void FormDraw::initGujing(QMyCustomPlot *widget, QString strSlfName, QString str int iMyWidth = widget->axisRect(0)->width(); float vmax = iMyWidth; float vmin = 0; - widget->m_iX1 = vmin; - widget->m_iX2 = iMyWidth; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, iMyWidth); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -6052,6 +5701,7 @@ void FormDraw::initGujing(QMyCustomPlot *widget, QString strSlfName, QString str void FormDraw::initDepth(QMyCustomPlot *curv) { // x轴隐藏 + curv->setScaleX(0, 1024); curv->yAxis->setTicks(true); curv->yAxis->setVisible(true); curv->yAxis->setBasePen(Qt::NoPen); @@ -6060,7 +5710,6 @@ void FormDraw::initDepth(QMyCustomPlot *curv) curv->yAxis->setTickLabelSide(QCPAxis::lsInside); QFont font1("微软雅黑", 8); curv->yAxis->setTickLabelFont(font1); - curv->yAxis->setRange(m_iY1, m_iY2); //curv->yAxis->setRangeReversed(true); //curv->axisRect()->setupFullAxesBox(); @@ -6075,13 +5724,8 @@ void FormDraw::initFgrq(QMyCustomPlot *widget) widget->xAxis->setSubTicks(false); widget->xAxis->setTickLabels(false); - widget->m_iX1 = 0; - widget->m_iX2 = 1024; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(widget->m_iX1, widget->m_iX2); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(0, 1024); + widget->setDepthY(m_iY1, m_iY2); //对调XY轴,在最前面设置 QCPAxis *yAxis = widget->yAxis; @@ -6093,13 +5737,8 @@ void FormDraw::initFgrq(QMyCustomPlot *widget) void FormDraw::initRose(QMyCustomPlot *widget) { - widget->m_iX1 = 0; - widget->m_iX2 = 1024; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(widget->m_iX1, widget->m_iX2); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(0, 1024); + widget->setDepthY(m_iY1, m_iY2); //对调XY轴,在最前面设置 QCPAxis *yAxis = widget->yAxis; @@ -6461,13 +6100,8 @@ void FormDraw::addQCPItemLine(QMyCustomPlot *widget, float cx, float cy, const Q void FormDraw::initDCA(QMyCustomPlot *widget) { - widget->m_iX1 = 0; - widget->m_iX2 = 360; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(widget->m_iX1, widget->m_iX2); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(0, 360); + widget->setDepthY(m_iY1, m_iY2); //对调XY轴,在最前面设置 QCPAxis *yAxis = widget->yAxis; @@ -6740,13 +6374,8 @@ void FormDraw::initTDT(QMyCustomPlot *curv) // curv->yAxis->setTickLabelFont(font1); curv->yAxis->setTicks(false); - curv->m_iX1 = 0; - curv->m_iX2 = 400; - curv->m_iY1 = m_iY1; - curv->m_iY2 = m_iY2; - // - curv->xAxis->setRange(curv->m_iX1, curv->m_iX2); - curv->yAxis->setRange(m_iY1, m_iY2); + curv->setScaleX(0, 400); + curv->setDepthY(m_iY1, m_iY2); // // curv->xAxis->ticker()->setTickCount(10);//x个主刻度 // curv->yAxis->ticker()->setTickCount(60);//y个主刻度 @@ -6882,14 +6511,7 @@ void FormDraw::initCorePhysics(QMyCustomPlot *widget, QString strSlfName, QStrin m_vmax = vmax; m_vmin = vmin; - //---------------------------------- - widget->m_iX1 = vmin; - widget->m_iX2 = vmax; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, vmax); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -7138,13 +6760,7 @@ void FormDraw::DrawJykt(QMyCustomPlot *widget, QString strSlfName) float vmax = m_RightVal; float vmin = m_LeftVal; - widget->m_iX1 = vmin; - widget->m_iX2 = vmax; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, vmax); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 @@ -7268,13 +6884,7 @@ void FormDraw::DrawDenv(QMyCustomPlot *widget, QString strSlfName) float vmax = m_RightVal; float vmin = m_LeftVal; - widget->m_iX1 = vmin; - widget->m_iX2 = vmax; - widget->m_iY1 = m_iY1; - widget->m_iY2 = m_iY2; - // - widget->xAxis->setRange(vmin, vmax); - widget->yAxis->setRange(m_iY1, m_iY2); + widget->setScaleX(vmin, vmax); widget->axisRect()->setupFullAxesBox(); // widget->xAxis->ticker()->setTickCount(10);//x个主刻度 diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index b6a396d..acaf882 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -202,7 +202,7 @@ void QMyCustomPlot::initGeometry(QString strUuid, int nscale, int nW) //curv->setMaximumHeight((int)dHight); //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 - this->setGeometry(0, 0, nW, (int)dHight);//7500-3184 + this->setGeometry(0, 0, nW-2, (int)dHight);//7500-3184 } void QMyCustomPlot::changePropertyWaveUpdate() @@ -9971,6 +9971,93 @@ void QMyCustomPlot::resetPosition_Layer() } } +void QMyCustomPlot::setScaleX(float fx1, float fx2) +{ + this->m_iX1 = fx1; + this->m_iX2 = fx2; + this->xAxis->setRange(fx1, fx2); + + for (int i = 0; i < m_vecColGrid.size(); i++) + { + this->removeItem(m_vecColGrid.at(i)); + } + m_vecColGrid.clear(); + + float fabs1 = (fx2 - fx1)/10.0f; + int nabs2 = fx2; + for (; fx1 < fx2; fx1 += fabs1) + { + QCPItemStraightLine* pGline = new QCPItemStraightLine(this); + pGline->setPen(QPen(QColor(208, 208, 208), 1, Qt::SolidLine)); + pGline->point1->setCoords(fx1, -1);//位置 + pGline->point2->setCoords(fx1, -2);//位置 + m_vecColGrid << pGline; + } +} + +void QMyCustomPlot::setDepthY(float fy1, float fy2) +{ + this->m_iY1 = fy1; + this->m_iY2 = fy2; + this->yAxis->setRange(m_iY1, m_iY2); + + for (int i = 0; i < m_vecRowGrid.size(); i++) + { + this->removeItem(m_vecRowGrid.at(i)); + } + m_vecRowGrid.clear(); + + int nabs1 = abs(m_iY2); + int nabs2 = abs(m_iY1); + for (; nabs1 < nabs2; nabs1 += 1) + { + QCPItemStraightLine* pGline = new QCPItemStraightLine(this); + pGline->setPen(QPen(QColor(208,208,208), 1, Qt::SolidLine)); + pGline->point1->setCoords(-1, -nabs1);//位置 + pGline->point2->setCoords(-2, -nabs1);//位置 + m_vecRowGrid << pGline; + } +} + +void QMyCustomPlot::updateDepthY(float fy1, float fy2) +{ + //深度改变 + if (this->m_bX2Y == true) + { + //默认调换 + this->xAxis->setRange(m_iY1, m_iY2); + } + else + { + //针对裂缝的横向波形图,X,Y轴不调换 + this->yAxis->setRange(m_iY1, m_iY2); + } + + for (int i = 0; i < m_vecRowGrid.size(); i++) + { + this->removeItem(m_vecRowGrid.at(i)); + } + m_vecRowGrid.clear(); + int nabs1 = abs(m_iY2); + int nabs2 = abs(m_iY1); + for (; nabs1 < nabs2; nabs1 += 1) + { + QCPItemStraightLine* pGline = new QCPItemStraightLine(this); + pGline->setPen(QPen(QColor(208, 208, 208), 1, Qt::SolidLine)); + if (this->m_bX2Y == true) + { + pGline->point1->setCoords(-nabs1, -1);//位置 + pGline->point2->setCoords(-nabs1, -2);//位置 + } + else + { + pGline->point1->setCoords(-1, -nabs1);//位置 + pGline->point2->setCoords(-2, -nabs1);//位置 + } + m_vecRowGrid << pGline; + } +} + //道宽改变后,避免井壁取心等组件变形,需要重新刷新 void QMyCustomPlot::resetPosition() { diff --git a/logPlus/qmycustomplot.h b/logPlus/qmycustomplot.h index 27ef7d6..7429a27 100644 --- a/logPlus/qmycustomplot.h +++ b/logPlus/qmycustomplot.h @@ -90,9 +90,15 @@ public: void resetPosition_GeoLith(); //地质层位 void resetPosition_Layer(); + + //设置刻度, 绘制网格线 + void setScaleX(float fx1, float fx2); + //设置深度, 绘制网格线 + void setDepthY(float fy1, float fy2); + void updateDepthY(float fy1, float fy2); protected: - //virtual void mouseMoveEvent(QMouseEvent *event); + public: // 井UUID @@ -191,6 +197,9 @@ public: bool m_bFirstTimeConnect=true; //初次绑定编辑曲线信号槽。 bool m_bPriviewRightList=false; //当前是否正在预览曲线。 + QVector m_vecRowGrid; + QVector m_vecColGrid; + // 组 QMap m_mapDragGroup;