可视解释添加 绘图区域绘制细网格

This commit is contained in:
DESKTOP-450PEFP\mainc 2026-04-13 14:49:19 +08:00
parent 2453ae90b3
commit b2ff354e10
3 changed files with 154 additions and 448 deletions

View File

@ -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个主刻度

View File

@ -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()
{

View File

@ -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<QCPItemStraightLine*> m_vecRowGrid;
QVector<QCPItemStraightLine*> m_vecColGrid;
// 组
QMap<QString, QObject*> m_mapDragGroup;