井属性,追加“显示道头”勾选框

This commit is contained in:
jiayulong 2026-05-26 16:57:20 +08:00
parent 88eb156b5e
commit a1d59208b0
6 changed files with 124 additions and 32 deletions

View File

@ -204,7 +204,7 @@ signals:
//修改黑白图 //修改黑白图
void sig_changeBlack(QString strUuid, bool bBlack); void sig_changeBlack(QString strUuid, bool bBlack);
void sig_changeWellProperty(QString strSlfName, QString strWellName, QVariantList listVal); void sig_changeWellProperty(QString strUuid, QString strSlfName, QString strWellName, QVariantList listVal);
//改变道宽 //改变道宽
void sig_changeWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, int iCurrentCol, int iNewWidth); void sig_changeWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, int iCurrentCol, int iNewWidth);

View File

@ -1954,7 +1954,7 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
else else
{ {
QVariantList vlist = { strGroup, strPro, variant }; QVariantList vlist = { strGroup, strPro, variant };
emit CallManage::getInstance()->sig_changeWellProperty(m_strSlfName, m_strWellName, vlist); emit CallManage::getInstance()->sig_changeWellProperty(m_strUuid, m_strSlfName, m_strWellName, vlist);
} }
} }
else if(m_strCurrentProperty == Curve_Property) else if(m_strCurrentProperty == Curve_Property)
@ -2858,6 +2858,7 @@ void PropertyWidget::initWellProperty(QString strUuid, QString strSlfName, QStri
// //
_CreateVariantPropertyItem("通常", "开始深度(m)", 0-m_iY2, QVariant::Double); _CreateVariantPropertyItem("通常", "开始深度(m)", 0-m_iY2, QVariant::Double);
_CreateVariantPropertyItem("通常", "终止深度(m)", 0-m_iY1, QVariant::Double); _CreateVariantPropertyItem("通常", "终止深度(m)", 0-m_iY1, QVariant::Double);
_CreateVariantPropertyItem("通常", "显示道头", fWell->m_bShowTrackHead, QVariant::Bool);
if (fWell) if (fWell)
{ {

View File

@ -727,6 +727,28 @@ void FormWell::setWellProperty(QVariantList listVal)
QString strGroup = listVal.at(0).toString(); QString strGroup = listVal.at(0).toString();
QString strPro = listVal.at(1).toString(); QString strPro = listVal.at(1).toString();
if (strGroup == "通常")
{
if ("显示道头" == strPro)
{
m_bShowTrackHead = listVal.at(2).toBool();
//
if(m_bShowTrackHead)
{
ui->tableWidget->showRow(0);
ui->tableWidget->update();
}
else
{
ui->tableWidget->hideRow(0);
ui->tableWidget->update();
}
MainWindowCurve *parent = (MainWindowCurve *)m_parent;
parent->SetScrollBar_Geometry();
}
return;
}
GridProperty* gridpt = NULL;// &pWell->getCuGridProperty(); GridProperty* gridpt = NULL;// &pWell->getCuGridProperty();
if (strGroup == "粗网格") if (strGroup == "粗网格")
{ {
@ -895,6 +917,7 @@ QJsonObject FormWell::makeJson()
// //
rootObj["WellName"] = m_strWellName; rootObj["WellName"] = m_strWellName;
rootObj["SlfName"] = slffilename; rootObj["SlfName"] = slffilename;
rootObj["bShowTrackHead"] = m_bShowTrackHead;
// 创建JSON数组并填充数据 // 创建JSON数组并填充数据
QJsonArray subcaseArray; QJsonArray subcaseArray;
@ -1160,19 +1183,34 @@ void FormWell::HideTableHead()
{ {
if(ui->tableWidget->rowCount()>0) if(ui->tableWidget->rowCount()>0)
{ {
//高度 //显示道头
ui->tableWidget->hideRow(0); if(m_bShowTrackHead)
{
ui->tableWidget->showRow(0);
}
else
{
ui->tableWidget->hideRow(0);
}
ui->tableWidget->hideRow(1); ui->tableWidget->hideRow(1);
ui->tableWidget->update(); ui->tableWidget->update();
} }
} }
//显示道头/对象头
void FormWell::ShowTableHead() void FormWell::ShowTableHead()
{ {
if(ui->tableWidget->rowCount()>0) if(ui->tableWidget->rowCount()>0)
{ {
//高度 //显示道头
ui->tableWidget->showRow(0); if(m_bShowTrackHead)
{
ui->tableWidget->showRow(0);
}
else
{
ui->tableWidget->hideRow(0);
}
ui->tableWidget->showRow(1); ui->tableWidget->showRow(1);
ui->tableWidget->update(); ui->tableWidget->update();
} }

View File

@ -65,6 +65,7 @@ public:
double m_iY1=0; double m_iY1=0;
double m_iY2=0; double m_iY2=0;
QWidget *m_parent; QWidget *m_parent;
bool m_bShowTrackHead = true; //显示道头
// 道图形 // 道图形
QMap<QString, QVector<QWidget*>> m_mapFormDraw; QMap<QString, QVector<QWidget*>> m_mapFormDraw;

View File

@ -137,12 +137,11 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
connect(ui->verticalScrollBar_2, SIGNAL(valueChanged(int)), this, SLOT(vertScrollBarChanged_Head(int))); connect(ui->verticalScrollBar_2, SIGNAL(valueChanged(int)), this, SLOT(vertScrollBarChanged_Head(int)));
connect(this, SIGNAL(sig_NewTrackChangeWidth(QString, double)), this, SLOT(s_NewTrackChangeWidth(QString, double))); connect(this, SIGNAL(sig_NewTrackChangeWidth(QString, double)), this, SLOT(s_NewTrackChangeWidth(QString, double)));
//connect(this, SIGNAL(sig_NewWell(QString, QString)), this, SLOT(s_NewWell(QString, QString)));
connect(CallManage::getInstance(), SIGNAL(sig_mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*))); connect(CallManage::getInstance(), SIGNAL(sig_mouseWheel(QWheelEvent*)), this, SLOT(s_mouseWheel(QWheelEvent*)));
connect(CallManage::getInstance(), SIGNAL(sig_changeScale(QString, int)), this, SLOT(s_changeScale(QString, int))); connect(CallManage::getInstance(), SIGNAL(sig_changeScale(QString, int)), this, SLOT(s_changeScale(QString, int)));
connect(CallManage::getInstance(), SIGNAL(sig_changeDepth(QString, QString, QString, int, int)), this, SLOT(s_changeDepth(QString, QString, QString, int, int))); connect(CallManage::getInstance(), SIGNAL(sig_changeDepth(QString, QString, QString, int, int)), this, SLOT(s_changeDepth(QString, QString, QString, int, int)));
connect(CallManage::getInstance(), SIGNAL(sig_changeWellProperty(QString, QString, QVariantList)), this, SLOT(s_changeWellProperty(QString, QString, QVariantList))); connect(CallManage::getInstance(), SIGNAL(sig_changeWellProperty(QString, QString, QString, QVariantList)), this, SLOT(s_changeWellProperty(QString, QString, QString, QVariantList)));
connect(CallManage::getInstance(), SIGNAL(sig_changeWidth(QString, QString, QString, QString, int, int)), this, SLOT(s_changeWidth(QString, QString, QString, QString, int, int))); connect(CallManage::getInstance(), SIGNAL(sig_changeWidth(QString, QString, QString, QString, int, int)), this, SLOT(s_changeWidth(QString, QString, QString, QString, int, int)));
connect(CallManage::getInstance(), SIGNAL(sig_changeTrackProperty(QVariantList)), this, SLOT(s_changeTrackProperty(QVariantList))); connect(CallManage::getInstance(), SIGNAL(sig_changeTrackProperty(QVariantList)), this, SLOT(s_changeTrackProperty(QVariantList)));
@ -252,6 +251,7 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) :
}); });
} }
//2个滚动条位置
void MainWindowCurve::SetScrollBar_Geometry() void MainWindowCurve::SetScrollBar_Geometry()
{ {
//锁头 //锁头
@ -2598,7 +2598,7 @@ QStringList MainWindowCurve::insertCol(double dW)
{ {
//井没创建,创建井+道+曲线 //井没创建,创建井+道+曲线
//新建井 //新建井
s_NewWell(strWellName, strSlfName); s_NewWell(strWellName, strSlfName, m_bShowTrackHead);
//m_listWell.push_back(strWellName);//重复添加 //m_listWell.push_back(strWellName);//重复添加
column= 0; column= 0;
@ -2653,7 +2653,7 @@ QStringList MainWindowCurve::insertCol_New(double dW, QString strWellName, QStri
{ {
//井没创建,创建井+道+曲线 //井没创建,创建井+道+曲线
//新建井 //新建井
s_NewWell(strWellName, strSlfName); s_NewWell(strWellName, strSlfName, m_bShowTrackHead);
//m_listWell.push_back(strWellName);//重复添加 //m_listWell.push_back(strWellName);//重复添加
column= 0; column= 0;
@ -3823,7 +3823,7 @@ void MainWindowCurve::s_selectWell()
//井没创建,创建井+道+曲线 //井没创建,创建井+道+曲线
//新建井 //新建井
s_NewWell(listWell[g_SelectWellIndex], listSlf[g_SelectWellIndex]); s_NewWell(listWell[g_SelectWellIndex], listSlf[g_SelectWellIndex], m_bShowTrackHead);
//新建道 //新建道
emit CallManage::getInstance()->sig_NewTrack(m_strUuid, listWell[g_SelectWellIndex], "", "", ""); emit CallManage::getInstance()->sig_NewTrack(m_strUuid, listWell[g_SelectWellIndex], "", "", "");
} }
@ -3951,7 +3951,7 @@ QJsonObject MainWindowCurve::makeJson()
return rootObj; return rootObj;
} }
void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName) void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName, bool bShowTrackHead)
{ {
//因为tableWidget需要提前规定好行数与列数 //因为tableWidget需要提前规定好行数与列数
int rowcount = 2; //总行数 int rowcount = 2; //总行数
@ -4052,12 +4052,16 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName)
widgetWell->m_nObjLyrH = m_nObjLayerH; widgetWell->m_nObjLyrH = m_nObjLayerH;
widgetWell->m_nObjDrawH = m_nObjDrawH; widgetWell->m_nObjDrawH = m_nObjDrawH;
widgetWell->m_iScale = m_iScale; widgetWell->m_iScale = m_iScale;
widgetWell->setWellHeader(wellH); widgetWell->setWellHeader(wellH);
//显示道头
widgetWell->m_bShowTrackHead = bShowTrackHead;
// //
ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);//默认用widgetWell填充满 ui->tableWidget_2->setCellWidget(i, columnCount, widgetWell);//默认用widgetWell填充满
m_mapFWell.insert(strWellName, widgetWell); m_mapFWell.insert(strWellName, widgetWell);
// //
m_listWell.push_back(strWellName); m_listWell.push_back(strWellName);
//显示道头
widgetWell->ShowTableHead();
} }
} }
@ -4154,7 +4158,7 @@ void MainWindowCurve::s_NewTrack()
{ {
//井没创建,创建井+道+曲线 //井没创建,创建井+道+曲线
//新建井 //新建井
s_NewWell(strWellName, strSlfName); s_NewWell(strWellName, strSlfName, m_bShowTrackHead);
//m_listWell.push_back(strWellName);//重复添加 //m_listWell.push_back(strWellName);//重复添加
column= 0; column= 0;
@ -4878,7 +4882,7 @@ void MainWindowCurve::NewWellAndTrack(QString strWellName, QString strSlfName, Q
{ {
//井没创建,创建井+道+曲线 //井没创建,创建井+道+曲线
//新建井 //新建井
s_NewWell(strWellName, strSlfName); s_NewWell(strWellName, strSlfName, m_bShowTrackHead);
//m_listWell.push_back(strWellName);//重复添加 //m_listWell.push_back(strWellName);//重复添加
//新建道+曲线 //新建道+曲线
@ -5423,13 +5427,60 @@ void MainWindowCurve::changeDepthForPrint()
progressBar->deleteLater(); progressBar->deleteLater();
} }
void MainWindowCurve::s_changeWellProperty(QString strSlfName, QString strWellName, QVariantList listVal) void MainWindowCurve::s_changeWellProperty(QString strUuid, QString strSlfName, QString strWellName, QVariantList listVal)
{ {
FormWell* pWell = m_mapFWell.value(strWellName); if(m_strUuid==strUuid)
if (!pWell) {
return; }
else
{
return;
}
pWell->setWellProperty(listVal); QString strGroup = listVal.at(0).toString();
QString strPro = listVal.at(1).toString();
if (strGroup == "通常" && "显示道头" == strPro)
{
m_bShowTrackHead = listVal.at(2).toBool();
//目前对所有井统一处理,不然出图时无法对齐
int columnCount = ui->tableWidget_2->columnCount();//总列数
for(int i=0; i<columnCount; i++)
{
if(i%2==0)
{
}
else
{
//空白列
continue;
}
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
FormWell *widgetWell = (FormWell*)myWidget;//获得widget
if(widgetWell)
{
widgetWell->setWellProperty(listVal);
}
}
}
}
}
else
{
//其他网格属性,只针对当前井
FormWell* pWell = m_mapFWell.value(strWellName);
if (!pWell)
return;
pWell->setWellProperty(listVal);
}
} }
void MainWindowCurve::DisplayWells(QJsonArray wellsArray) void MainWindowCurve::DisplayWells(QJsonArray wellsArray)
@ -5490,10 +5541,6 @@ void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo)
if (value.isString()) { if (value.isString()) {
strWellName = value.toString(); strWellName = value.toString();
qDebug() << "WellName:" << strWellName; qDebug() << "WellName:" << strWellName;
//新建井
//mainWindowCurve->s_NewWell(strWellName);
//s_NewWell(strWellName);
} }
} }
@ -5503,10 +5550,14 @@ void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo)
if (value.isString()) { if (value.isString()) {
strSlfName = value.toString(); strSlfName = value.toString();
qDebug() << "strSlfName:" << strSlfName; qDebug() << "strSlfName:" << strSlfName;
}
}
//新建井 if (wellObjInfo.contains("bShowTrackHead"))
//mainWindowCurve->s_NewWell(strWellName); {
//s_NewWell(strWellName); QJsonValue value = wellObjInfo.value("bShowTrackHead");
if (value.isBool()) {
m_bShowTrackHead = value.toBool();
} }
} }
@ -5514,7 +5565,7 @@ void MainWindowCurve::DisplayWell_One(QJsonObject wellObjInfo)
QString folderPath = GetLogdataPath(); QString folderPath = GetLogdataPath();
folderPath = folderPath + g_prjname; folderPath = folderPath + g_prjname;
strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName; strSlfName = folderPath + "/" + "#" + strWellName + "/" + strSlfName;
s_NewWell(strWellName, strSlfName); s_NewWell(strWellName, strSlfName, m_bShowTrackHead);
// //
if (wellObjInfo.contains("formTracks")) if (wellObjInfo.contains("formTracks"))

View File

@ -109,6 +109,7 @@ public:
int m_iCurPage = 1;//当前页 int m_iCurPage = 1;//当前页
//图像自滚定时器 //图像自滚定时器
QTimer *m_clockTimer = nullptr; QTimer *m_clockTimer = nullptr;
bool m_bShowTrackHead = true; //显示道头
public: public:
//黑白图,针对共享内存,使用老版本代码,需要以下定义 //黑白图,针对共享内存,使用老版本代码,需要以下定义
@ -126,6 +127,7 @@ public:
void SetIsColorPrint(bool iscolorprint); void SetIsColorPrint(bool iscolorprint);
bool GetIsColorPrint(); bool GetIsColorPrint();
void SetNo(); void SetNo();
//2个滚动条位置
void SetScrollBar_Geometry(); void SetScrollBar_Geometry();
public: public:
@ -178,7 +180,6 @@ public:
signals: signals:
void sig_NewTrackChangeWidth(QString strWellName, double nW=0);//新建道后,改变井宽 void sig_NewTrackChangeWidth(QString strWellName, double nW=0);//新建道后,改变井宽
void sig_NewWell(QString strWellName);
public slots: public slots:
void slot_time(); void slot_time();
@ -186,7 +187,7 @@ public slots:
void s_changeScale(QString strUuid, int iNewScale); void s_changeScale(QString strUuid, int iNewScale);
//改变深度 //改变深度
void s_changeDepth(QString strUuid, QString strSlfName, QString strWellName, int iY1, int iY2); void s_changeDepth(QString strUuid, QString strSlfName, QString strWellName, int iY1, int iY2);
void s_changeWellProperty(QString strSlfName, QString strWellName, QVariantList listVal); void s_changeWellProperty(QString strUuid, QString strSlfName, QString strWellName, QVariantList listVal);
//改变道宽 //改变道宽
void s_changeWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, int iCurrentCol, int iNewWidth); void s_changeWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, int iCurrentCol, int iNewWidth);
@ -238,7 +239,7 @@ public:
QAction* m_ModuleOpenAc = nullptr; //处理方法 QAction* m_ModuleOpenAc = nullptr; //处理方法
public slots: public slots:
void s_NewWell(QString strWellName, QString strSlfName);//新建井 void s_NewWell(QString strWellName, QString strSlfName, bool bShowTrackHead = true);//新建井
void s_NewTrackChangeWidth(QString strWellName, double nW=0);//新建道后,改变井宽 void s_NewTrackChangeWidth(QString strWellName, double nW=0);//新建道后,改变井宽
void s_NewTrack_No_Line(QString strWellName, QString strTrackName);//新建空白道,没有曲线 void s_NewTrack_No_Line(QString strWellName, QString strTrackName);//新建空白道,没有曲线