From 696ef8b7c3ecf51624def87abe60b2418529d0a2 Mon Sep 17 00:00:00 2001 From: jiayulong <22806282@qq.com> Date: Thu, 5 Feb 2026 18:02:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E5=A4=B4=E8=A1=A8=E6=A0=BC=E7=9A=84?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E4=BF=A1=E6=81=AF=EF=BC=8C=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=88=B0json=E5=9B=BE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logPlus/PropertyWidget.cpp | 4 +- logPlus/formdraw.cpp | 118 ++++-------------------------------- logPlus/formhead.cpp | 72 ++++++++++++++++++++++ logPlus/formhead.h | 1 + logPlus/forminfo.cpp | 17 ++---- logPlus/formmultiheads.cpp | 30 +++++++++ logPlus/formmultiheads.h | 6 ++ logPlus/mainwindowcurve.cpp | 113 +++++----------------------------- 8 files changed, 142 insertions(+), 219 deletions(-) diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index 1294d24..67ee0ad 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -1123,7 +1123,7 @@ void PropertyWidget::initHeadProperty(FormHead *formHead, QTableWidget *tableWid if (rowHeight_Img.isValid()) { m_rowHeight_Img = rowHeight_Img.toDouble(); } - + //行高、列宽 m_colWidth = tableWidget->columnWidth(col)/g_dPixelPerCm; m_rowHeight = tableWidget->rowHeight(row)/g_dPixelPerCm; @@ -1135,7 +1135,7 @@ void PropertyWidget::initHeadProperty(FormHead *formHead, QTableWidget *tableWid _CreateVariantPropertyItem("文本", "内容", item->text(), QVariant::String); _CreateVariantPropertyItem("文本", "字体", m_item->font(), QVariant::Font); - _CreateEnumPropertyItem("文本", "方向", 0, listDirection); + //_CreateEnumPropertyItem("文本", "方向", 0, listDirection); _CreateVariantPropertyItem("文本", "字体颜色", m_item->foreground().color(), QVariant::Color); _CreateVariantPropertyItem("表格", "行高(cm)", m_rowHeight, QVariant::Double, 0, 100); diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index 1a37c93..14cfb46 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -437,41 +437,10 @@ void FormDraw::DisplayLine_One(QJsonObject lineObjInfo) } } // - if (lineObjInfo.contains("newColorRed")) - { - QJsonValue value = lineObjInfo.value("newColorRed"); - if (value.isDouble()) { - newColor.setRed(value.toInt()); - //qDebug() << "newColorRed:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("newColorGreen")) - { - QJsonValue value = lineObjInfo.value("newColorGreen"); - if (value.isDouble()) { - newColor.setGreen(value.toInt()); - //qDebug() << "newColorGreen:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("newColorBlue")) - { - QJsonValue value = lineObjInfo.value("newColorBlue"); - if (value.isDouble()) { - newColor.setBlue(value.toInt()); - //qDebug() << "newColorBlue:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("newColorAlpha")) - { - QJsonValue value = lineObjInfo.value("newColorAlpha"); - if (value.isDouble()) { - newColor.setAlpha(value.toInt()); - //qDebug() << "newColorAlpha:" << QString::number(value.toInt()); - } - } + if (lineObjInfo.contains("newColor")) + { + newColor.setNamedColor(lineObjInfo.value("newColor").toString()); + } if (lineObjInfo.contains("newLithosImage")) { @@ -498,77 +467,16 @@ void FormDraw::DisplayLine_One(QJsonObject lineObjInfo) } } // - if (lineObjInfo.contains("frontColorRed")) - { - QJsonValue value = lineObjInfo.value("frontColorRed"); - if (value.isDouble()) { - frontColor.setRed(value.toInt()); - //qDebug() << "frontColorRed:" << QString::number(value.toInt()); - } - } + if (lineObjInfo.contains("frontColor")) + { + frontColor.setNamedColor(lineObjInfo.value("frontColor").toString()); + } + // - if (lineObjInfo.contains("frontColorGreen")) - { - QJsonValue value = lineObjInfo.value("frontColorGreen"); - if (value.isDouble()) { - frontColor.setGreen(value.toInt()); - //qDebug() << "frontColorGreen:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("frontColorBlue")) - { - QJsonValue value = lineObjInfo.value("frontColorBlue"); - if (value.isDouble()) { - frontColor.setBlue(value.toInt()); - //qDebug() << "frontColorBlue:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("frontColorAlpha")) - { - QJsonValue value = lineObjInfo.value("frontColorAlpha"); - if (value.isDouble()) { - frontColor.setAlpha(value.toInt()); - //qDebug() << "frontColorAlpha:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorRed")) - { - QJsonValue value = lineObjInfo.value("backColorRed"); - if (value.isDouble()) { - backColor.setRed(value.toInt()); - //qDebug() << "backColorRed:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorGreen")) - { - QJsonValue value = lineObjInfo.value("backColorGreen"); - if (value.isDouble()) { - backColor.setGreen(value.toInt()); - //qDebug() << "backColorGreen:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorBlue")) - { - QJsonValue value = lineObjInfo.value("backColorBlue"); - if (value.isDouble()) { - backColor.setBlue(value.toInt()); - //qDebug() << "backColorBlue:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorAlpha")) - { - QJsonValue value = lineObjInfo.value("backColorAlpha"); - if (value.isDouble()) { - backColor.setAlpha(value.toInt()); - //qDebug() << "backColorAlpha:" << QString::number(value.toInt()); - } - } + if (lineObjInfo.contains("backColor")) + { + backColor.setNamedColor(lineObjInfo.value("backColor").toString()); + } // if (newFillMode == "无填充") diff --git a/logPlus/formhead.cpp b/logPlus/formhead.cpp index 0b7d786..0f89fb2 100644 --- a/logPlus/formhead.cpp +++ b/logPlus/formhead.cpp @@ -231,6 +231,78 @@ void FormHead::Init(int iRows, int iCols) connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString))); } + +QJsonObject FormHead::makeJson() +{ + int columnCount = ui->tableWidget->columnCount();//总列数 + int rowCount = ui->tableWidget->rowCount();//总行数 + + // 创建根对象 + QJsonObject rootObj; + // + rootObj["indexID"] = m_indexID; + rootObj["iRows"] = rowCount; + rootObj["iCols"] = columnCount; + // + QJsonArray subcaseArray; + for(int col=0; coltableWidget->item(col, row); + + QJsonObject formHeadObj; + formHeadObj["col"] = col; + formHeadObj["row"] = row; + if(item) + { + //图例 + QString imagePath = ""; + //图头, 图例宽高 + double m_colWidth_Img = 1; + double m_rowHeight_Img = 1; + //图头, 行高、列宽 + double m_colWidth = 1; + double m_rowHeight = 1; + + QVariant bgData = item->data(Qt::UserRole+1); // 我们约定用这个角色存储图片路径 + if (bgData.isValid()) { + imagePath = bgData.toString(); + } + //图例宽 + QVariant colWidth_Img = item->data(Qt::UserRole+2); + if (colWidth_Img.isValid()) { + m_colWidth_Img = colWidth_Img.toDouble(); + } + //图例高 + QVariant rowHeight_Img = item->data(Qt::UserRole+3); + if (rowHeight_Img.isValid()) { + m_rowHeight_Img = rowHeight_Img.toDouble(); + } + + //行高、列宽 + m_colWidth = ui->tableWidget->columnWidth(col)/g_dPixelPerCm; + m_rowHeight = ui->tableWidget->rowHeight(row)/g_dPixelPerCm; + + //---------------- + formHeadObj["imagePath"] = imagePath; + formHeadObj["colWidth_Img"] = m_colWidth_Img; + formHeadObj["rowHeight_Img"] = m_rowHeight_Img; + formHeadObj["backColor"] = item->background().color().name();//背景颜色 + formHeadObj["text"] = item->text(); + formHeadObj["Font"] = item->font().toString(); + formHeadObj["FontColor"] = item->foreground().color().name(); + formHeadObj["colWidth"] = m_colWidth; + formHeadObj["rowHeight"] = m_rowHeight; + } + subcaseArray.append(formHeadObj); + } + } + rootObj["items"]=subcaseArray; + + return rootObj; +} + //图头、成果表 //取消其他表格的选中状态 void FormHead::s_UnSelectTableItem(QString strUuid) diff --git a/logPlus/formhead.h b/logPlus/formhead.h index 57eb539..82f52d4 100644 --- a/logPlus/formhead.h +++ b/logPlus/formhead.h @@ -42,6 +42,7 @@ public: public: void Init(int iRows, int iCols); void resizeEvent(QResizeEvent *event); + QJsonObject makeJson(); public slots: void resizeWindow(); diff --git a/logPlus/forminfo.cpp b/logPlus/forminfo.cpp index c47e758..2709e92 100644 --- a/logPlus/forminfo.cpp +++ b/logPlus/forminfo.cpp @@ -125,24 +125,15 @@ QJsonObject FormInfo::makeJson() rootObj["newHeadFill"] = m_newHeadFill; rootObj["newTargetLine"] = m_newTargetLine; rootObj["newFillType"] = m_newFillType; - //填充颜色 - rootObj["newColorRed"] = m_newColor.red(); - rootObj["newColorGreen"] = m_newColor.green(); - rootObj["newColorBlue"] = m_newColor.blue(); - rootObj["newColorAlpha"] = m_newColor.alpha(); + //填充颜色 + rootObj["newColor"] = m_newColor.name(); rootObj["newLithosImage"] = m_newLithosImage; rootObj["new_vMax"] = m_new_vMax; rootObj["new_vMin"] = m_new_vMin; //岩性前景色 - rootObj["frontColorRed"] = m_frontColor.red(); - rootObj["frontColorGreen"] = m_frontColor.green(); - rootObj["frontColorBlue"] = m_frontColor.blue(); - rootObj["frontColorAlpha"] = m_frontColor.alpha(); + rootObj["frontColor"] = m_frontColor.name(); //岩性背景色 - rootObj["backColorRed"] = m_backColor.red(); - rootObj["backColorGreen"] = m_backColor.green(); - rootObj["backColorBlue"] = m_backColor.blue(); - rootObj["backColorAlpha"] = m_backColor.alpha(); + rootObj["backColor"] = m_backColor.name(); } else if (m_strType == "waveObject") { diff --git a/logPlus/formmultiheads.cpp b/logPlus/formmultiheads.cpp index cbec6ff..b6bb102 100644 --- a/logPlus/formmultiheads.cpp +++ b/logPlus/formmultiheads.cpp @@ -159,3 +159,33 @@ void FormMultiHeads::resizeItem(QString indexID, double tempWidth, double tempHi } } } + +QJsonObject FormMultiHeads::makeJson() +{ + // 创建根对象 + QJsonObject rootObj; + + // 创建JSON数组并填充数据 + QJsonArray subcaseArray; + // + int columnCount = ui->tableWidget->columnCount();//总列数 + for(int i=0; itableWidget->cellWidget(i, 0) != nullptr ) + { + auto myWidget = ui->tableWidget->cellWidget(i, 0); + FormHead *widgetHead = qobject_cast(myWidget); + if(widgetHead) + { + QJsonObject jobj = widgetHead->makeJson(); + formHeadObj["headinfo"] = jobj; + } + } + subcaseArray.append(formHeadObj); + } + rootObj["formMultiHeads"]=subcaseArray; + + return rootObj; +} diff --git a/logPlus/formmultiheads.h b/logPlus/formmultiheads.h index 189b028..452acc3 100644 --- a/logPlus/formmultiheads.h +++ b/logPlus/formmultiheads.h @@ -3,6 +3,11 @@ #include +// +#include +#include +#include + namespace Ui { class FormMultiHeads; } @@ -26,6 +31,7 @@ public slots: public: void resizeItem(QString indexID, double tempWidth, double tempHight); + QJsonObject makeJson(); public: QString m_strHeadOrTail = ""; //Head代表图头, Tail代表成果表 diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 2244a5e..299c801 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -2390,6 +2390,12 @@ QJsonObject MainWindowCurve::makeJson() } rootObj["wells"]=subcaseArray; + //图头 + rootObj["heads"]=m_formMultiHeads->makeJson(); + //成果表 + rootObj["tails"]=m_formMultiTails->makeJson(); + + return rootObj; } @@ -4077,41 +4083,11 @@ void MainWindowCurve::DisplayLine_One(QJsonObject lineObjInfo, QString strTrackN //qDebug() << "newFillMode:" << newFillMode; } } + // - if (lineObjInfo.contains("newColorRed")) + if (lineObjInfo.contains("newColor")) { - QJsonValue value = lineObjInfo.value("newColorRed"); - if (value.isDouble()) { - newColor.setRed(value.toInt()); - //qDebug() << "newColorRed:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("newColorGreen")) - { - QJsonValue value = lineObjInfo.value("newColorGreen"); - if (value.isDouble()) { - newColor.setGreen(value.toInt()); - //qDebug() << "newColorGreen:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("newColorBlue")) - { - QJsonValue value = lineObjInfo.value("newColorBlue"); - if (value.isDouble()) { - newColor.setBlue(value.toInt()); - //qDebug() << "newColorBlue:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("newColorAlpha")) - { - QJsonValue value = lineObjInfo.value("newColorAlpha"); - if (value.isDouble()) { - newColor.setAlpha(value.toInt()); - //qDebug() << "newColorAlpha:" << QString::number(value.toInt()); - } + newColor.setNamedColor(lineObjInfo.value("newColor").toString()); } if (lineObjInfo.contains("newLithosImage")) @@ -4139,76 +4115,15 @@ void MainWindowCurve::DisplayLine_One(QJsonObject lineObjInfo, QString strTrackN } } // - if (lineObjInfo.contains("frontColorRed")) + if (lineObjInfo.contains("frontColor")) { - QJsonValue value = lineObjInfo.value("frontColorRed"); - if (value.isDouble()) { - frontColor.setRed(value.toInt()); - //qDebug() << "frontColorRed:" << QString::number(value.toInt()); - } + frontColor.setNamedColor(lineObjInfo.value("frontColor").toString()); } + // - if (lineObjInfo.contains("frontColorGreen")) + if (lineObjInfo.contains("backColor")) { - QJsonValue value = lineObjInfo.value("frontColorGreen"); - if (value.isDouble()) { - frontColor.setGreen(value.toInt()); - //qDebug() << "frontColorGreen:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("frontColorBlue")) - { - QJsonValue value = lineObjInfo.value("frontColorBlue"); - if (value.isDouble()) { - frontColor.setBlue(value.toInt()); - //qDebug() << "frontColorBlue:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("frontColorAlpha")) - { - QJsonValue value = lineObjInfo.value("frontColorAlpha"); - if (value.isDouble()) { - frontColor.setAlpha(value.toInt()); - //qDebug() << "frontColorAlpha:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorRed")) - { - QJsonValue value = lineObjInfo.value("backColorRed"); - if (value.isDouble()) { - backColor.setRed(value.toInt()); - //qDebug() << "backColorRed:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorGreen")) - { - QJsonValue value = lineObjInfo.value("backColorGreen"); - if (value.isDouble()) { - backColor.setGreen(value.toInt()); - //qDebug() << "backColorGreen:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorBlue")) - { - QJsonValue value = lineObjInfo.value("backColorBlue"); - if (value.isDouble()) { - backColor.setBlue(value.toInt()); - //qDebug() << "backColorBlue:" << QString::number(value.toInt()); - } - } - // - if (lineObjInfo.contains("backColorAlpha")) - { - QJsonValue value = lineObjInfo.value("backColorAlpha"); - if (value.isDouble()) { - backColor.setAlpha(value.toInt()); - //qDebug() << "backColorAlpha:" << QString::number(value.toInt()); - } + backColor.setNamedColor(lineObjInfo.value("backColor").toString()); } //