曲线显示画面修改

This commit is contained in:
zhaolei 2026-02-02 18:16:47 +08:00
parent 495af6493f
commit 401d75ec43

View File

@ -186,7 +186,7 @@ void WellLogTableDialogNew::setName(QString strOldPath, QString strOldName, int
if (WAVE_OBJECT == m_ObjectType) if (WAVE_OBJECT == m_ObjectType)
pWellLog = new CObjWellLogWavefile; pWellLog = new CObjWellLogWavefile;
if (CURVE_OBJECT == m_ObjectType) if (CURVE_OBJECT == m_ObjectType)
pWellLog = new CObjWellLogTABLE; pWellLog = new CObjWellLog;
pWellLog->SetSlfFileName(strOldPath); pWellLog->SetSlfFileName(strOldPath);
pWellLog->m_name = strOldName; pWellLog->m_name = strOldName;
m_pWellLogs.clear(); m_pWellLogs.clear();
@ -213,6 +213,15 @@ void WellLogTableDialogNew::InitWell()
// m_gridData->initWellData(D_WellData,m_pWell); // m_gridData->initWellData(D_WellData,m_pWell);
// } // }
if (CURVE_OBJECT == m_ObjectType)
{
m_DataTyle=valid_NULL;
m_gridData->initWellLogData(D_WellLogData ,m_pWellLogs);
m_pUI->tableWidget->verticalHeader()->hide();//隐藏左侧系统序号栏
QShowEvent *evt = new QShowEvent();
showEvent(evt);
return;
}
if (TABLEE_OBJECT == m_ObjectType) if (TABLEE_OBJECT == m_ObjectType)
{ {
m_gridData->addActonMenu(2); m_gridData->addActonMenu(2);
@ -235,63 +244,11 @@ void WellLogTableDialogNew::InitWell()
// swtichViewSize(); // swtichViewSize();
return; return;
} }
CLogIO *logio=new CLogIO();
logio->Open(FileName.toStdString().c_str(),CSlfIO::modeRead);
index=logio->OpenCurve(CurveName.toStdString().c_str());
if(index<0) {
delete logio;
return;
}
logio->GetCurveInfo(index,&curveinfo);
sdep=curveinfo.StartDepth;
edep=curveinfo.EndDepth;
rlev=curveinfo.DepLevel;
curDepth=sdep+(edep-sdep)/2.;
count=(curveinfo.EndDepth-curveinfo.StartDepth)/curveinfo.DepLevel+1.5;
val=new float[count];
logio->ReadCurve(index,curveinfo.StartDepth,count,&val[0]);
logio->CloseCurve(index);
delete logio;
//
//清空
m_pUI->tableWidget->clearContents();
m_pUI->tableWidget->verticalHeader()->hide();//隐藏左侧系统序号栏
//因为tableWidget需要提前规定好行数与列数
int recordcount = count; //总行数
m_pUI->tableWidget->setColumnCount(2);
m_pUI->tableWidget->setRowCount(recordcount); //动态设置行数
//表头
QStringList list;
list << "深度" << "数据";
m_pUI->tableWidget->setHorizontalHeaderLabels(list);
m_pUI->tableWidget->setColumnWidth(0, 200);
m_pUI->tableWidget->setColumnWidth(1, 200);
for(int i=0; i<recordcount; i++)
{
float tmpdep = sdep+ rlev*i;
float vtmp=val[i];
QTableWidgetItem* item = new QTableWidgetItem(QString::number(tmpdep));
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
m_pUI->tableWidget->setItem(i, 0, item);
//
QTableWidgetItem* item2 = new QTableWidgetItem(QString::number(vtmp));
//item2->setFlags(item2->flags() & (~Qt::ItemIsEditable));
m_pUI->tableWidget->setItem(i, 1, item2);
}
} }
bool WellLogTableDialogNew::InitWellLog() bool WellLogTableDialogNew::InitWellLog()
{ {
if (TABLEE_OBJECT == m_ObjectType || WAVE_OBJECT == m_ObjectType) if (CURVE_OBJECT == m_ObjectType ||TABLEE_OBJECT == m_ObjectType || WAVE_OBJECT == m_ObjectType)
{ {
//表格数据 //表格数据
m_gridData->bindData(); m_gridData->bindData();
@ -778,13 +735,12 @@ std::vector<float> WellLogTableDialogNew::InterceptDepthPoints( const SelectMuti
bool WellLogTableDialogNew::TableFromCSVFile(QTableWidget *tableWidget) bool WellLogTableDialogNew::TableFromCSVFile(QTableWidget *tableWidget)
{ {
// m_gridData->importToFile(); return m_gridData->importToFile();
return true;
} }
void WellLogTableDialogNew::showEvent(QShowEvent *evt) void WellLogTableDialogNew::showEvent(QShowEvent *evt)
{ {
if(!m_pWellLogs.size()||CURVE_OBJECT == m_ObjectType) if(!m_pWellLogs.size())
return; return;
QDialog::showEvent(evt); QDialog::showEvent(evt);
if( (m_pWellLogs[0]->GetTypeID()==GetClassID_WellLog() || if( (m_pWellLogs[0]->GetTypeID()==GetClassID_WellLog() ||
@ -820,8 +776,7 @@ void WellLogTableDialogNew::resizeEvent(QResizeEvent *evt)
bool WellLogTableDialogNew::TableToCSVFile(QTableWidget *tableWidget) bool WellLogTableDialogNew::TableToCSVFile(QTableWidget *tableWidget)
{ {
//return m_gridData->tableToCSVFile(); return m_gridData->tableToCSVFile();
return true;
} }
void WellLogTableDialogNew::slotVerScrollValueChange(int nValue) void WellLogTableDialogNew::slotVerScrollValueChange(int nValue)