解释结论,显示名称,字体,颜色,结论占比等数据编辑。

This commit is contained in:
DESKTOP-450PEFP\mainc 2026-02-13 22:56:10 +08:00
parent 0ab8eb16b5
commit 5d860bd16b
7 changed files with 387 additions and 286 deletions

View File

@ -92,8 +92,38 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant
{ {
if(m_strCurrentProperty == "") if(m_strCurrentProperty == "")
return; return;
if (m_strCurrentProperty == Table_Property)
{
bool bDraw = false;
QStringList slist;
slist << "显示名称" << "垂向绘制" << "旋转角度(°)" << "字体" << "颜色"
<< "结论占比%" << "显示位置(cm)" << "显示层号" << "层号字体" << "层号旋转";
for (int i = 0; i < slist.length(); i++)
{
if (slist.at(i) == m_propertyData[pProperty])
{
bDraw = m_formInfo->setInfoProperty(m_propertyData[pProperty], variant);
break;
}
}
if(m_strCurrentProperty == Track_Property) if (!slist.contains(m_propertyData[pProperty]))
bDraw = true;
if (bDraw)
{
QVariantList listCond;
listCond << m_strUuid;
listCond << m_strSlfName;
listCond << m_strWellName;
listCond << m_strTrackName;
listCond << m_strLineName;
listCond << m_propertyData[pProperty];
listCond << variant;
emit CallManage::getInstance()->sig_changeDrawProperty(listCond);
}
}
else if(m_strCurrentProperty == Track_Property)
{ {
if(m_fromTop == NULL) if(m_fromTop == NULL)
return; return;
@ -1178,6 +1208,25 @@ void PropertyWidget::initHeadProperty(FormHead *formHead, QTableWidget *tableWid
} }
void PropertyWidget::initTableProperty(FormInfo *formInfo)
{
_CreateVariantPropertyItem("通常", "选择井曲线", m_strLineName + "@" + m_strSlfName, QVariant::String);
_CreateVariantPropertyItem("名称", "显示名称", formInfo->m_strLineName, QVariant::String);
//_CreateVariantPropertyItem("名称", "垂向绘制", formInfo->m_bVerticaDrawing, QVariant::Bool);
//_CreateVariantPropertyItem("名称", "旋转角度(°)", formInfo->m_nRotationAngle, QVariant::Int);
_CreateVariantPropertyItem("名称", "字体", formInfo->m_curveNameFont, QVariant::Font);
_CreateVariantPropertyItem("名称", "颜色", formInfo->m_lineColor, QVariant::Color);
_CreateVariantPropertyItem("显示", "结论占比%", formInfo->m_nConclusionProportion, QVariant::Int);
_CreateVariantPropertyItem("显示", "显示位置(cm)", formInfo->m_nShowPos, QVariant::Int);
_CreateVariantPropertyItem("显示", "显示层号", formInfo->m_bShowLayerNo, QVariant::Bool);
_CreateVariantPropertyItem("显示", "层号字体", formInfo->m_layerFont, QVariant::Font);
_CreateVariantPropertyItem("显示", "层号旋转", formInfo->m_fLayerRotate, QVariant::Double);
m_strCurrentProperty = Table_Property;
}
void PropertyWidget::initDepthProperty(FormInfo *formInfo) void PropertyWidget::initDepthProperty(FormInfo *formInfo)
{ {
// //
@ -1206,7 +1255,11 @@ void PropertyWidget::initProperty(FormInfo *formInfo)
m_strTrackName = formInfo->m_strTrackName; m_strTrackName = formInfo->m_strTrackName;
m_strLineName = formInfo->m_strLineName; m_strLineName = formInfo->m_strLineName;
if (formInfo->m_strType == "depthObject") if (formInfo->m_strType == "tableObject")
{
this->initTableProperty(formInfo);
}
else if (formInfo->m_strType == "depthObject")
{ {
this->initDepthProperty(formInfo); this->initDepthProperty(formInfo);
} }

View File

@ -29,6 +29,8 @@
#define Wave_Property "Wave_Property" //波列 #define Wave_Property "Wave_Property" //波列
#define Head_Property "Head_Property" //图头,单元格 #define Head_Property "Head_Property" //图头,单元格
#define Table_Property "Table_Property" //解释结论
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
/** /**
@ -111,6 +113,8 @@ public:
//图头 //图头
void initHeadProperty(FormHead *formHead, QTableWidget *tableWidget, QTableWidgetItem* item, int row, int col); void initHeadProperty(FormHead *formHead, QTableWidget *tableWidget, QTableWidgetItem* item, int row, int col);
void initTableProperty(FormInfo *formInfo);
void initDepthProperty(FormInfo *formInfo); void initDepthProperty(FormInfo *formInfo);
void initProperty(FormInfo *formInfo); void initProperty(FormInfo *formInfo);

View File

@ -156,7 +156,7 @@ void TransparentGroupResult::initRect()
mDragRect->setVisible(false); mDragRect->setVisible(false);
mDragLine = new QCPItemStraightLine(mPlot); mDragLine = new QCPItemStraightLine(mPlot);
mDragLine->setPen(QPen(Qt::red, 1, Qt::DashDotDotLine)); mDragLine->setPen(QPen(Qt::red, 1));
mDragLine->setVisible(false); mDragLine->setVisible(false);
// 创建透明矩形 // 创建透明矩形

View File

@ -602,7 +602,7 @@ QMyCustomPlot* FormDraw::addTableLine(QString strUuid, QString strSlfName, QStri
// //
QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName); QMyCustomPlot *curv = new QMyCustomPlot(this, strSlfName, strWellName, strTrackName, strLineName);
curv->initGeometry(m_strUuid, m_iScale, g_iOneWidth); curv->initGeometry(m_strUuid, m_iScale, m_nTrackW);
curv->show(); curv->show();
if (strLineName == "FRAC_HOLE.TABLE") if (strLineName == "FRAC_HOLE.TABLE")

View File

@ -29,14 +29,14 @@ FormInfo::FormInfo(QWidget *parent, QString strSlfName, QString strWellName, QSt
m_lineStyle = Qt::SolidLine; m_lineStyle = Qt::SolidLine;
m_newFillMode = "无填充"; m_newFillMode = "无填充";
m_newHeadFill = "不绘制"; m_newHeadFill = "不绘制";
// // // //
// QPushButton *button = new QPushButton("Drag Me", this); // QPushButton *button = new QPushButton("Drag Me", this);
// QVBoxLayout *layout = new QVBoxLayout(this); // QVBoxLayout *layout = new QVBoxLayout(this);
// layout->addWidget(button); // layout->addWidget(button);
// setLayout(layout); // setLayout(layout);
// // 设置拖拽功能 // // 设置拖拽功能
// setWindowFlags(Qt::FramelessWindowHint | Qt::Window); // setWindowFlags(Qt::FramelessWindowHint | Qt::Window);
// setAttribute(Qt::WA_TranslucentBackground); // setAttribute(Qt::WA_TranslucentBackground);
//左刻度 //左刻度
connect(CallManage::getInstance(), SIGNAL(sig_ChangeLeftScale(QString, QString, QString, QString, QString, double)), this, SLOT(s_ChangeLeftScale(QString, QString, QString, QString, QString, double))); connect(CallManage::getInstance(), SIGNAL(sig_ChangeLeftScale(QString, QString, QString, QString, QString, double)), this, SLOT(s_ChangeLeftScale(QString, QString, QString, QString, QString, double)));
@ -61,12 +61,13 @@ FormInfo::FormInfo(QWidget *parent, QString strSlfName, QString strWellName, QSt
//修改曲线选择状态 iSelect=0未知1标准曲线2主曲线3从曲线 //修改曲线选择状态 iSelect=0未知1标准曲线2主曲线3从曲线
connect(CallManage::getInstance(), SIGNAL(sig_ChangeLineStatus(QString, QString, QString, QString, QString, int, bool)), this, SLOT(s_ChangeLineStatus(QString, QString, QString, QString, QString, int, bool))); connect(CallManage::getInstance(), SIGNAL(sig_ChangeLineStatus(QString, QString, QString, QString, QString, int, bool)), this, SLOT(s_ChangeLineStatus(QString, QString, QString, QString, QString, int, bool)));
QFont font1("微软雅黑", 10); QFont font1("微软雅黑", 10);
QFont font2("微软雅黑", 8); QFont font2("微软雅黑", 8);
m_curveNameFont = font1; // 曲线名称 m_curveNameFont = font1; // 曲线名称
m_curveUnitFont = font2; // 曲线单位 m_curveUnitFont = font2; // 曲线单位
m_curveScaleFont = font2; // 曲线刻度 m_curveScaleFont = font2; // 曲线刻度
m_bShowScale = true; m_layerFont = font1;
m_bShowScale = true;
} }
FormInfo::~FormInfo() FormInfo::~FormInfo()
@ -76,27 +77,27 @@ FormInfo::~FormInfo()
void FormInfo::initProperty(QJsonObject obj) void FormInfo::initProperty(QJsonObject obj)
{ {
m_vmin = obj.value("vmin").toDouble(); m_vmin = obj.value("vmin").toDouble();
m_vmax = obj.value("vmax").toDouble(); m_vmax = obj.value("vmax").toDouble();
m_strUnit = obj.value("Unit").toString(); m_strUnit = obj.value("Unit").toString();
QString strType = obj.value("Type").toString(); QString strType = obj.value("Type").toString();
if ("waveObject" == strType) if ("waveObject" == strType)
{ {
m_nDrawType = obj.value("DrawType").toInt(); m_nDrawType = obj.value("DrawType").toInt();
m_nFillType = obj.value("FillType").toInt(); m_nFillType = obj.value("FillType").toInt();
m_strAmp = obj.value("Amp").toString(); m_strAmp = obj.value("Amp").toString();
m_fMaxAmp = obj.value("MaxAmp").toDouble(); m_fMaxAmp = obj.value("MaxAmp").toDouble();
m_nSchemeIndex = obj.value("SchemeIndex").toInt(); m_nSchemeIndex = obj.value("SchemeIndex").toInt();
m_nColorNum = obj.value("ColorNum").toInt(); m_nColorNum = obj.value("ColorNum").toInt();
m_bDrawDepth = obj.value("DrawDepth").toBool(); m_bDrawDepth = obj.value("DrawDepth").toBool();
m_bDrawBase = obj.value("DrawBase").toBool(); m_bDrawBase = obj.value("DrawBase").toBool();
m_bOddEven = obj.value("OddEven").toBool(); m_bOddEven = obj.value("OddEven").toBool();
m_nWaveJg = obj.value("WaveJg").toInt(); m_nWaveJg = obj.value("WaveJg").toInt();
m_fWaveHei = obj.value("WaveHei").toDouble(); m_fWaveHei = obj.value("WaveHei").toDouble();
} }
} }
QJsonObject FormInfo::makeJson() QJsonObject FormInfo::makeJson()
@ -113,10 +114,10 @@ QJsonObject FormInfo::makeJson()
} }
rootObj["SlfName"] = slffilename; rootObj["SlfName"] = slffilename;
rootObj["WellName"] = m_strWellName; rootObj["WellName"] = m_strWellName;
// rootObj["TrackName"] = m_strTrackName; // rootObj["TrackName"] = m_strTrackName;
rootObj["LineName"] = m_strLineName; rootObj["LineName"] = m_strLineName;
rootObj["AliasName"] = m_strAliasName; rootObj["AliasName"] = m_strAliasName;
rootObj["Unit"] = m_strUnit; rootObj["Unit"] = m_strUnit;
rootObj["Type"] = m_strType; rootObj["Type"] = m_strType;
rootObj["lineColor"] = m_lineColor.name(); rootObj["lineColor"] = m_lineColor.name();
rootObj["Width"] = m_dWidth; rootObj["Width"] = m_dWidth;
@ -124,42 +125,42 @@ QJsonObject FormInfo::makeJson()
rootObj["vmax"] = m_vmax; rootObj["vmax"] = m_vmax;
rootObj["vmin"] = m_vmin; rootObj["vmin"] = m_vmin;
rootObj["ScaleType"] = m_strScaleType; rootObj["ScaleType"] = m_strScaleType;
rootObj["ShowScale"] = m_bShowScale; rootObj["ShowScale"] = m_bShowScale;
if (m_strType == "curveObject") if (m_strType == "curveObject")
{ {
//岩性填充 //岩性填充
rootObj["newFillMode"] = m_newFillMode; rootObj["newFillMode"] = m_newFillMode;
rootObj["newHeadFill"] = m_newHeadFill; rootObj["newHeadFill"] = m_newHeadFill;
rootObj["newTargetLine"] = m_newTargetLine; rootObj["newTargetLine"] = m_newTargetLine;
rootObj["newFillType"] = m_newFillType; rootObj["newFillType"] = m_newFillType;
//填充颜色 //填充颜色
rootObj["newColor"] = m_newColor.name(); rootObj["newColor"] = m_newColor.name();
rootObj["newLithosImage"] = m_newLithosImage; rootObj["newLithosImage"] = m_newLithosImage;
rootObj["new_vMax"] = m_new_vMax; rootObj["new_vMax"] = m_new_vMax;
rootObj["new_vMin"] = m_new_vMin; rootObj["new_vMin"] = m_new_vMin;
//岩性前景色 //岩性前景色
rootObj["frontColor"] = m_frontColor.name(); rootObj["frontColor"] = m_frontColor.name();
//岩性背景色 //岩性背景色
rootObj["backColor"] = m_backColor.name(); rootObj["backColor"] = m_backColor.name();
} }
else if (m_strType == "waveObject") else if (m_strType == "waveObject")
{ {
rootObj["DrawType"] = m_nDrawType; rootObj["DrawType"] = m_nDrawType;
rootObj["FillType"] = m_nFillType; rootObj["FillType"] = m_nFillType;
rootObj["Amp"] = m_strAmp; rootObj["Amp"] = m_strAmp;
rootObj["MaxAmp"] = m_fMaxAmp; rootObj["MaxAmp"] = m_fMaxAmp;
rootObj["DrawDepth"] = m_bDrawDepth; // 绘制波深度 rootObj["DrawDepth"] = m_bDrawDepth; // 绘制波深度
rootObj["DrawBase"] = m_bDrawBase; // 绘制波基线 rootObj["DrawBase"] = m_bDrawBase; // 绘制波基线
rootObj["OddEven"] = m_bOddEven; // 奇偶配色 rootObj["OddEven"] = m_bOddEven; // 奇偶配色
rootObj["WaveJg"] = m_nWaveJg; // 波形间隔 rootObj["WaveJg"] = m_nWaveJg; // 波形间隔
rootObj["WaveHei"] = m_fWaveHei; // 波形高度 rootObj["WaveHei"] = m_fWaveHei; // 波形高度
rootObj["SchemeIndex"] = m_nSchemeIndex; rootObj["SchemeIndex"] = m_nSchemeIndex;
rootObj["ColorNum"] = m_nColorNum; rootObj["ColorNum"] = m_nColorNum;
} }
return rootObj; return rootObj;
} }
@ -299,63 +300,63 @@ void FormInfo::paintEvent(QPaintEvent* event)
if(m_strType=="waveObject") if(m_strType=="waveObject")
{ {
if (m_nDrawType == 0 || m_nDrawType == 1) if (m_nDrawType == 0 || m_nDrawType == 1)
{ {
int nbot = rect.bottom()- rect.height() / 3.0; int nbot = rect.bottom()- rect.height() / 3.0;
QVector<QPointF> pts; QVector<QPointF> pts;
int i = 0; int i = 0;
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 15.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 15.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 12.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 12.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 9.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 9.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 6.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 6.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 3.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 3.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 9.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 9.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 15.0)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot - rect.height() / 15.0));
pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot)); pts.append(QPointF(rect.left() + rect.width() / 3.0 + (i++)*rect.width() / 3.0 / 8.0, nbot));
pts.append(QPointF(rect.left() + rect.width() / 3.0, nbot)); pts.append(QPointF(rect.left() + rect.width() / 3.0, nbot));
if (m_nDrawType == 1) { if (m_nDrawType == 1) {
QPolygonF cRgn; QPolygonF cRgn;
for (int j = 0; j < pts.size(); j++) { for (int j = 0; j < pts.size(); j++) {
cRgn.push_back(pts[j]); cRgn.push_back(pts[j]);
} }
QPainterPath path; QPainterPath path;
path.addPolygon(cRgn); path.addPolygon(cRgn);
painter.fillPath(path, QBrush(m_lineColor)); painter.fillPath(path, QBrush(m_lineColor));
} }
else else
{ {
painter.drawPolygon(pts); painter.drawPolygon(pts);
} }
} }
else else
{ {
QtColorTableData::getInstance()->SetCurrentSchemeIndex(m_nSchemeIndex); QtColorTableData::getInstance()->SetCurrentSchemeIndex(m_nSchemeIndex);
//ColorTableIndex = ind; //ColorTableIndex = ind;
QtColorTableData::getInstance()->ChangeColorNum(m_nColorNum); QtColorTableData::getInstance()->ChangeColorNum(m_nColorNum);
QList<QRgb> rgbList = QtColorTableData::getInstance()->GetRgb(); QList<QRgb> rgbList = QtColorTableData::getInstance()->GetRgb();
int iColorNum = rgbList.size(); int iColorNum = rgbList.size();
//头部绘制调色板 //头部绘制调色板
float scale = (float)(rect.width() - 4) / (float)iColorNum; float scale = (float)(rect.width() - 4) / (float)iColorNum;
QRectF rt7 = QRectF(rect.left() + 2, rect.top() + rect.height() / 3, rect.width() - 4, rect.height() / 3); QRectF rt7 = QRectF(rect.left() + 2, rect.top() + rect.height() / 3, rect.width() - 4, rect.height() / 3);
for (int i = 0; i < iColorNum; i++) for (int i = 0; i < iColorNum; i++)
{ {
QColor acolor = rgbList.at(i); QColor acolor = rgbList.at(i);
float temp = (float)i * scale; float temp = (float)i * scale;
if (i)rt7.setLeft(rect.left() + 2 + temp); if (i)rt7.setLeft(rect.left() + 2 + temp);
else rt7.setLeft(rect.left() + 2 + temp + 1); else rt7.setLeft(rect.left() + 2 + temp + 1);
temp = (float)(i + 1) * scale; temp = (float)(i + 1) * scale;
rt7.setRight(rect.left() + 2 + temp); rt7.setRight(rect.left() + 2 + temp);
QBrush HeadBrush = QBrush(acolor); QBrush HeadBrush = QBrush(acolor);
painter.fillRect(rt7, HeadBrush); painter.fillRect(rt7, HeadBrush);
} }
} }
} }
painter.setFont(m_curveUnitFont); painter.setFont(m_curveUnitFont);
painter.setPen(m_lineColor); painter.setPen(m_lineColor);
//painter.drawText(rect.left() + 20, 55, m_strUnit); //painter.drawText(rect.left() + 20, 55, m_strUnit);
//painter.drawText(rect.left() + 20, 80, QString::number(m_vmin)+" ~ "+QString::number(m_vmax)); //painter.drawText(rect.left() + 20, 80, QString::number(m_vmin)+" ~ "+QString::number(m_vmax));
@ -401,7 +402,7 @@ void FormInfo::paintEvent(QPaintEvent* event)
painter.drawText(rect.left(), rect.top()+rect.height()/3, rect.width(), rect.height()/3 ,Qt::AlignCenter, "蝌蚪图"); painter.drawText(rect.left(), rect.top()+rect.height()/3, rect.width(), rect.height()/3 ,Qt::AlignCenter, "蝌蚪图");
} }
else if(m_strLineName=="井眼垮塌矢量图" else if(m_strLineName=="井眼垮塌矢量图"
|| m_strLineName=="井斜方位图") || m_strLineName=="井斜方位图")
{ {
painter.drawText(rect.left(), rect.top()+rect.height()/3, rect.width(), rect.height()/3, Qt::AlignCenter, m_strUnit); painter.drawText(rect.left(), rect.top()+rect.height()/3, rect.width(), rect.height()/3, Qt::AlignCenter, m_strUnit);
painter.drawText(rect.left(), rect.top()+rect.height()*2/3, rect.width(), rect.height()/3 ,Qt::AlignCenter, QString::number(m_vmin)+" ~ "+QString::number(m_vmax)); painter.drawText(rect.left(), rect.top()+rect.height()*2/3, rect.width(), rect.height()/3 ,Qt::AlignCenter, QString::number(m_vmin)+" ~ "+QString::number(m_vmax));
@ -409,27 +410,27 @@ void FormInfo::paintEvent(QPaintEvent* event)
// //
if(m_strType=="tableObject" && (m_strLineName=="WORDS_RELUST" || m_strLineName == "RESULT" if(m_strType=="tableObject" && (m_strLineName=="WORDS_RELUST" || m_strLineName == "RESULT"
|| m_strLineName == "GEO_LITH"|| m_strLineName == "SWALL_CORE" || m_strLineName == "GEO_LITH"|| m_strLineName == "SWALL_CORE"
|| m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT" || m_strLineName == "GUJING1_RESULT" || m_strLineName == "GUJING2_RESULT" || m_strLineName == "GUJING3_RESULT"
|| m_strLineName == "CORE_PHYSICS") ) || m_strLineName == "CORE_PHYSICS") )
{ {
} }
else { else {
if(m_strType=="waveObject" if(m_strType=="waveObject"
|| m_strType=="curveObject") || m_strType=="curveObject")
{ {
painter.drawText(rect.left()+10, rect.top() + rect.height() * 2 / 3, rect.width(), rect.height() / 3, Qt::AlignCenter, m_strUnit); painter.drawText(rect.left()+10, rect.top() + rect.height() * 2 / 3, rect.width(), rect.height() / 3, Qt::AlignCenter, m_strUnit);
// 显示刻度 // 显示刻度
if (m_bShowScale) if (m_bShowScale)
{ {
painter.setFont(m_curveScaleFont); painter.setFont(m_curveScaleFont);
QFontMetrics fm1(m_curveScaleFont); QFontMetrics fm1(m_curveScaleFont);
QRect textRect = fm1.boundingRect(QString::number(m_vmax, 'f', 0)); QRect textRect = fm1.boundingRect(QString::number(m_vmax, 'f', 0));
painter.drawText(rect.left() + 10, rect.top() + rect.height() * 2 / 3, rect.width(), rect.height() / 3, Qt::AlignLeft | Qt::AlignVCenter, QString::number(m_vmin));// +" ~ " + QString::number(m_vmax)); painter.drawText(rect.left() + 10, rect.top() + rect.height() * 2 / 3, rect.width(), rect.height() / 3, Qt::AlignLeft | Qt::AlignVCenter, QString::number(m_vmin));// +" ~ " + QString::number(m_vmax));
painter.drawText(rect.left() + 10, rect.top() + rect.height() * 2 / 3, rect.width() - textRect.width(), rect.height() / 3, Qt::AlignRight | Qt::AlignVCenter, QString::number(m_vmax)); painter.drawText(rect.left() + 10, rect.top() + rect.height() * 2 / 3, rect.width() - textRect.width(), rect.height() / 3, Qt::AlignRight | Qt::AlignVCenter, QString::number(m_vmax));
} }
} }
} }
@ -506,20 +507,20 @@ void FormInfo::dropEvent(QDropEvent* event)
} }
else else
{ {
// 如果井名不正确,不接受拖拽事件 // 如果井名不正确,不接受拖拽事件
event->ignore(); event->ignore();
} }
} }
else else
{ {
// 如果数据格式不正确,不接受拖拽事件 // 如果数据格式不正确,不接受拖拽事件
event->ignore(); event->ignore();
} }
} }
else else
{ {
// 如果数据格式不正确,不接受拖拽事件 // 如果数据格式不正确,不接受拖拽事件
event->ignore(); event->ignore();
} }
// 恢复鼠标光标 // 恢复鼠标光标
//QApplication::restoreOverrideCursor(); //QApplication::restoreOverrideCursor();
@ -589,126 +590,160 @@ QColor FormInfo::getBackColor()
bool FormInfo::setInfoProperty(QString strProName, QVariant val) bool FormInfo::setInfoProperty(QString strProName, QVariant val)
{ {
bool bDraw = false; bool bDraw = false;
if ("显示名称" == strProName) if ("显示名称" == strProName)
{ {
this->m_strAliasName = val.toString(); this->m_strAliasName = val.toString();
} }
else if ("显示单位" == strProName) else if ("显示单位" == strProName)
{ {
this->m_strUnit = val.toString(); this->m_strUnit = val.toString();
} }
else if ("曲线名称" == strProName) else if ("曲线名称" == strProName || "字体" == strProName)
{ {
this->m_curveNameFont = val.value<QFont>(); this->m_curveNameFont = val.value<QFont>();
} }
else if ("曲线单位" == strProName) else if ("曲线单位" == strProName)
{ {
this->m_curveUnitFont = val.value<QFont>(); this->m_curveUnitFont = val.value<QFont>();
} }
else if ("曲线刻度" == strProName) else if ("曲线刻度" == strProName)
{ {
this->m_curveScaleFont = val.value<QFont>(); this->m_curveScaleFont = val.value<QFont>();
} }
else if ("类型" == strProName) else if ("类型" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_nDrawType = val.toInt(); this->m_nDrawType = val.toInt();
} }
else if ("方式" == strProName) else if ("方式" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_nFillType = val.toInt(); this->m_nFillType = val.toInt();
} }
else if ("左刻度" == strProName) else if ("左刻度" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_vmin = val.toDouble(); this->m_vmin = val.toDouble();
} }
else if ("右刻度" == strProName) else if ("右刻度" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_vmax = val.toDouble(); this->m_vmax = val.toDouble();
} }
else if ("幅度刻度" == strProName) else if ("幅度刻度" == strProName)
{ {
this->m_strAmp = val.toString(); this->m_strAmp = val.toString();
} }
else if ("最大振幅" == strProName) else if ("最大振幅" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_fMaxAmp = val.toFloat(); this->m_fMaxAmp = val.toFloat();
} }
else if ("显示刻度" == strProName) else if ("显示刻度" == strProName)
{ {
this->m_bShowScale = val.toBool(); this->m_bShowScale = val.toBool();
} }
else if ("绘制波深度" == strProName) else if ("绘制波深度" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_bDrawDepth = val.toBool(); this->m_bDrawDepth = val.toBool();
} }
else if ("绘制波基线" == strProName) else if ("绘制波基线" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_bDrawBase = val.toBool(); this->m_bDrawBase = val.toBool();
} }
else if ("奇偶配色" == strProName) else if ("奇偶配色" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_bOddEven = val.toBool(); this->m_bOddEven = val.toBool();
} }
else if ("波列基值" == strProName) else if ("波列基值" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_fWaveBase = val.toFloat(); this->m_fWaveBase = val.toFloat();
} }
else if ("波形间隔" == strProName) else if ("波形间隔" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_nWaveJg = val.toInt(); this->m_nWaveJg = val.toInt();
} }
else if ("波形高度" == strProName) else if ("波形高度" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_fWaveHei = val.toInt(); this->m_fWaveHei = val.toInt();
} }
else if ("颜色" == strProName) else if ("颜色" == strProName)
{ {
bDraw = true; bDraw = true;
this->m_lineColor = val.value<QColor>(); this->m_lineColor = val.value<QColor>();
} }
else if ("线宽" == strProName) else if ("线宽" == strProName)
{ {
this->m_dWidth = val.toInt(); this->m_dWidth = val.toInt();
} }
else if ("色板" == strProName) else if ("色板" == strProName)
{ {
this->m_nSchemeIndex = val.toInt(); this->m_nSchemeIndex = val.toInt();
return true; return true;
} }
else if ("变密度颜色级数" == strProName) else if ("变密度颜色级数" == strProName)
{ {
this->m_nColorNum = val.toInt(); this->m_nColorNum = val.toInt();
return true; return true;
} }
this->update(); else if ("垂向绘制" == strProName)
return bDraw; {
this->m_bVerticaDrawing = val.toBool();
}
else if ("旋转角度(°)" == strProName)
{
this->m_nRotationAngle = val.toInt();
}
else if ("结论占比%" == strProName)
{
bDraw = true;
this->m_nConclusionProportion = val.toInt();
}
else if ("显示位置(cm)" == strProName)
{
bDraw = true;
this->m_nShowPos = val.toInt();
}
else if ("显示层号" == strProName)
{
bDraw = true;
this->m_bShowLayerNo = val.toBool();
}
else if ("层号字体" == strProName)
{
bDraw = true;
this->m_layerFont = val.value<QFont>();
}
else if ("层号旋转" == strProName)
{
bDraw = true;
this->m_fLayerRotate = val.toFloat();
}
this->update();
return bDraw;
} }
int FormInfo::getFillTypeIndex() int FormInfo::getFillTypeIndex()
{ {
return m_nFillType; return m_nFillType;
} }
//修改曲线选择状态 iSelect=0未知1标准曲线2主曲线3从曲线 //修改曲线选择状态 iSelect=0未知1标准曲线2主曲线3从曲线
void FormInfo::s_ChangeLineStatus(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iSelect, bool bMerge) void FormInfo::s_ChangeLineStatus(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, int iSelect, bool bMerge)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_iSelect = iSelect; m_iSelect = iSelect;
m_bMerge = bMerge; m_bMerge = bMerge;
@ -720,10 +755,10 @@ void FormInfo::s_ChangeLineStatus(QString strUuid, QString strSlfName, QString s
void FormInfo::s_ChangeLeftScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newLeftScale) void FormInfo::s_ChangeLeftScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newLeftScale)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_vmin = newLeftScale; m_vmin = newLeftScale;
update(); update();
@ -734,10 +769,10 @@ void FormInfo::s_ChangeLeftScale(QString strUuid, QString strSlfName, QString st
void FormInfo::s_ChangeRightScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newRightScale) void FormInfo::s_ChangeRightScale(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newRightScale)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_vmax = newRightScale; m_vmax = newRightScale;
update(); update();
@ -748,10 +783,10 @@ void FormInfo::s_ChangeRightScale(QString strUuid, QString strSlfName, QString s
void FormInfo::s_ChangeScaleType(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strScaleType) void FormInfo::s_ChangeScaleType(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strScaleType)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_strScaleType = strScaleType; m_strScaleType = strScaleType;
} }
@ -761,10 +796,10 @@ void FormInfo::s_ChangeScaleType(QString strUuid, QString strSlfName, QString st
void FormInfo::s_ChangeLineColor(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor) void FormInfo::s_ChangeLineColor(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_lineColor = lineColor; m_lineColor = lineColor;
update(); update();
@ -775,10 +810,10 @@ void FormInfo::s_ChangeLineColor(QString strUuid, QString strSlfName, QString st
void FormInfo::s_ChangeLineWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double width) void FormInfo::s_ChangeLineWidth(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double width)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_dWidth = width; m_dWidth = width;
update(); update();
@ -789,10 +824,10 @@ void FormInfo::s_ChangeLineWidth(QString strUuid, QString strSlfName, QString st
void FormInfo::s_ChangeLineStyle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, Qt::PenStyle lineStyle) void FormInfo::s_ChangeLineStyle(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, Qt::PenStyle lineStyle)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_lineStyle = lineStyle; m_lineStyle = lineStyle;
update(); update();
@ -803,10 +838,10 @@ void FormInfo::s_ChangeLineStyle(QString strUuid, QString strSlfName, QString st
void FormInfo::s_ClearFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) void FormInfo::s_ClearFillMode(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_newFillMode = "无填充"; m_newFillMode = "无填充";
update(); update();
@ -819,10 +854,10 @@ void FormInfo::s_ChangeFillMode(QString strUuid, QString strSlfName, QString str
float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode, bool bFillNow) float vMin, float vMax, QString strOtherScaleType, QColor frontColor, QColor backColor, QString newFillMode, bool bFillNow)
{ {
if(m_strUuid == strUuid && if(m_strUuid == strUuid &&
m_strSlfName == strSlfName && m_strSlfName == strSlfName &&
m_strWellName == strWellName && m_strWellName == strWellName &&
m_strTrackName == strTrackName && m_strTrackName == strTrackName &&
m_strLineName == strLineName) m_strLineName == strLineName)
{ {
m_newFillType = newFillType; m_newFillType = newFillType;
m_newTargetLine = newTargetLine; m_newTargetLine = newTargetLine;

View File

@ -67,6 +67,8 @@ public:
QString m_strAliasName;//显示名称 QString m_strAliasName;//显示名称
QString m_strUnit;//单位 QString m_strUnit;//单位
bool m_bVerticaDrawing = false; // 垂向绘制
int m_nRotationAngle = 0; // 旋转角度
int m_iSelect=0; //iSelect=0未知1标准曲线2主曲线3从曲线 int m_iSelect=0; //iSelect=0未知1标准曲线2主曲线3从曲线
bool m_bMerge = false;//是拼接状态,否代表校深状态。为了切换时做数据清理 bool m_bMerge = false;//是拼接状态,否代表校深状态。为了切换时做数据清理
QString m_strType;//类型curve, wave QString m_strType;//类型curve, wave
@ -116,6 +118,13 @@ public:
int m_nColorNum = 256; // 调色板参数设置-变密度颜色级数 int m_nColorNum = 256; // 调色板参数设置-变密度颜色级数
int m_nSchemeIndex = 1; // 调色板参数设置-色板 int m_nSchemeIndex = 1; // 调色板参数设置-色板
// 解释结论
int m_nConclusionProportion = 50; // 结论占比%
int m_nShowPos = 0; // 显示位置(cm)
bool m_bShowLayerNo = true; // 显示层号
QFont m_layerFont; // 层号字体
float m_fLayerRotate = 0.0f; // 层号旋转
public: public:
void setLineWidth(double dWidth); void setLineWidth(double dWidth);
double getLineWidth(); double getLineWidth();

View File

@ -129,7 +129,7 @@ void QMyCustomPlot::initGeometry(QString strUuid, int nscale, int nW)
//curv->setMaximumHeight((int)dHight); //curv->setMaximumHeight((int)dHight);
//curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184 //curv->setViewport(QRect(0, 0, g_iOneWidth, (int)dHight));//7500-3184
this->setGeometry(0, 0, nW-20, (int)dHight);//7500-3184 this->setGeometry(0, 0, nW-1, (int)dHight);//7500-3184
} }
void QMyCustomPlot::changePropertyWaveUpdate() void QMyCustomPlot::changePropertyWaveUpdate()