波列渲染崩溃问题, 新实现波列方式,在未取到数据则跳出渲染逻辑。

绘制网格线,Y轴变量没有初始化随机值卡住问题。
This commit is contained in:
DESKTOP-450PEFP\mainc 2026-05-20 11:47:07 +08:00
parent 1acf9b3d95
commit 2b68607854
4 changed files with 19 additions and 15 deletions

View File

@ -4353,8 +4353,8 @@ void FormDraw::s_addDrawImage(QString strUuid, QString strSlfName, QString strWe
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName, "DrawImageObject"); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName, "DrawImageObject");
//绑定m_formTrack方便关联formInfo //绑定m_formTrack方便关联formInfo
curv->m_formTrack = m_formTrack; curv->m_formTrack = m_formTrack;
curv->setScaleX(0, 264);
curv->setDepthY(m_iY1, m_iY2); curv->setDepthY(m_iY1, m_iY2);
curv->setScaleX(0, 264);
if (nW <= 0) if (nW <= 0)
nW = g_iOneWidth; nW = g_iOneWidth;
curv->initGeometry(m_strUuid, m_iScale, nW); curv->initGeometry(m_strUuid, m_iScale, nW);
@ -4495,8 +4495,8 @@ void FormDraw::s_addCrack(QString strUuid, QString strSlfName, QString strWellNa
float vmax = iMyWidth; float vmax = iMyWidth;
float vmin = 0; float vmin = 0;
curv->setScaleX(vmin, vmax);
curv->setDepthY(m_iY1, m_iY2); curv->setDepthY(m_iY1, m_iY2);
curv->setScaleX(vmin, vmax);
curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth);
curv->axisRect()->setupFullAxesBox(); curv->axisRect()->setupFullAxesBox();
// //
@ -4566,8 +4566,8 @@ void FormDraw::s_addJiegutext(QString strUuid, QString strSlfName, QString strWe
float vmax = iMyWidth; float vmax = iMyWidth;
float vmin = 0; float vmin = 0;
// //
curv->setScaleX(vmin, vmax);
curv->setDepthY(m_iY1, m_iY2); curv->setDepthY(m_iY1, m_iY2);
curv->setScaleX(vmin, vmax);
curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth);
curv->axisRect()->setupFullAxesBox(); curv->axisRect()->setupFullAxesBox();
// //
@ -4670,8 +4670,8 @@ void FormDraw::s_addLogface(QString strUuid, QString strSlfName, QString strWell
float vmax = iMyWidth; float vmax = iMyWidth;
float vmin = 0; float vmin = 0;
curv->setScaleX(vmin, vmax);
curv->setDepthY(m_iY1, m_iY2); curv->setDepthY(m_iY1, m_iY2);
curv->setScaleX(vmin, vmax);
curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth);
curv->axisRect()->setupFullAxesBox(); curv->axisRect()->setupFullAxesBox();
// //
@ -4920,8 +4920,8 @@ void FormDraw::s_addTubingstring(QString strUuid, QString strSlfName, QString st
m_LeftVal = 0; m_LeftVal = 0;
m_RightVal = iMyWidth; m_RightVal = iMyWidth;
// //
curv->setScaleX(vmin, vmax);
curv->setDepthY(m_iY1, m_iY2); curv->setDepthY(m_iY1, m_iY2);
curv->setScaleX(vmin, vmax);
curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth);
curv->axisRect()->setupFullAxesBox(); curv->axisRect()->setupFullAxesBox();
// //
@ -5124,8 +5124,8 @@ void FormDraw::initForm(QMyCustomPlot *widget, QString strSlfName, QString strLi
widget->setInteractions(QCP::iSelectLegend | QCP::iSelectPlottables); widget->setInteractions(QCP::iSelectLegend | QCP::iSelectPlottables);
widget->setRowGridVisible(true); widget->setRowGridVisible(true);
widget->setColGridVisible(true); widget->setColGridVisible(true);
widget->setDepthY(m_iY1, m_iY2);
widget->setScaleX(vmin, vmax); widget->setScaleX(vmin, vmax);
widget->setDepthY(m_iY1, m_iY2);
widget->initGeometry(m_strUuid, m_iScale, g_iOneWidth); widget->initGeometry(m_strUuid, m_iScale, g_iOneWidth);
widget->axisRect()->setupFullAxesBox(); widget->axisRect()->setupFullAxesBox();
@ -6215,8 +6215,8 @@ void FormDraw::initFgrq(QMyCustomPlot *widget)
widget->xAxis->setSubTicks(false); widget->xAxis->setSubTicks(false);
widget->xAxis->setTickLabels(false); widget->xAxis->setTickLabels(false);
widget->setScaleX(0, 1024);
widget->setDepthY(m_iY1, m_iY2); widget->setDepthY(m_iY1, m_iY2);
widget->setScaleX(0, 1024);
//对调XY轴在最前面设置 //对调XY轴在最前面设置
QCPAxis *yAxis = widget->yAxis; QCPAxis *yAxis = widget->yAxis;
@ -6228,8 +6228,8 @@ void FormDraw::initFgrq(QMyCustomPlot *widget)
void FormDraw::initRose(QMyCustomPlot *widget) void FormDraw::initRose(QMyCustomPlot *widget)
{ {
widget->setScaleX(0, 1024);
widget->setDepthY(m_iY1, m_iY2); widget->setDepthY(m_iY1, m_iY2);
widget->setScaleX(0, 1024);
//对调XY轴在最前面设置 //对调XY轴在最前面设置
QCPAxis *yAxis = widget->yAxis; QCPAxis *yAxis = widget->yAxis;
@ -6594,8 +6594,8 @@ void FormDraw::initDCA(QMyCustomPlot *widget, QString m_csCurveFd, QString m_csC
widget->clearGraphs(); widget->clearGraphs();
widget->clearItems(); widget->clearItems();
widget->setScaleX(0, 360);
widget->setDepthY(m_iY1, m_iY2); widget->setDepthY(m_iY1, m_iY2);
widget->setScaleX(0, 360);
//对调XY轴在最前面设置 //对调XY轴在最前面设置
QCPAxis *yAxis = widget->yAxis; QCPAxis *yAxis = widget->yAxis;
@ -6869,8 +6869,8 @@ void FormDraw::initTDT(QMyCustomPlot *curv)
// curv->yAxis->setTickLabelFont(font1); // curv->yAxis->setTickLabelFont(font1);
curv->yAxis->setTicks(false); curv->yAxis->setTicks(false);
curv->setScaleX(0, 400);
curv->setDepthY(m_iY1, m_iY2); curv->setDepthY(m_iY1, m_iY2);
curv->setScaleX(0, 400);
// //
// curv->xAxis->ticker()->setTickCount(10);//x个主刻度 // curv->xAxis->ticker()->setTickCount(10);//x个主刻度
// curv->yAxis->ticker()->setTickCount(60);//y个主刻度 // curv->yAxis->ticker()->setTickCount(60);//y个主刻度

View File

@ -431,6 +431,10 @@ QImage TTranspose(QImage* image)
void FormWave::DrawWave(QPainter* pdc, QRectF mrt1) void FormWave::DrawWave(QPainter* pdc, QRectF mrt1)
{ {
if (m_vMD.size() <= 0 || m_vProperty.size() <= 0)
{
return;
}
if (m_pInfo == NULL) if (m_pInfo == NULL)
{ {
m_pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName); m_pInfo = m_formTrack->getFormInfoByParameters(m_strUuid, m_strWellName, m_strTrackName, m_strLineName);

View File

@ -341,12 +341,12 @@
<ClCompile> <ClCompile>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<DebugInformationFormat>None</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>MaxSpeed</Optimization> <Optimization>Disabled</Optimization>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@ -176,8 +176,8 @@ public:
FormTrack *m_formTrack = NULL; FormTrack *m_formTrack = NULL;
FormDraw *m_formDraw = NULL; FormDraw *m_formDraw = NULL;
// //
float m_iX1, m_iX2; float m_iX1 = 0.0f, m_iX2 = 0.0f;
float m_iY1, m_iY2; float m_iY1 = 0.0f, m_iY2 = 0.0f;
float m_fTopY = 0; // 显示深度upper float m_fTopY = 0; // 显示深度upper
float m_fBottomY = 0; // 显示深度lower float m_fBottomY = 0; // 显示深度lower
qint8 m_nLeftCross = 0; // 左跨道个数 qint8 m_nLeftCross = 0; // 左跨道个数