图头表格的属性信息,记录到json图文件

This commit is contained in:
jiayulong 2026-02-05 18:02:39 +08:00
parent 6f13922871
commit 696ef8b7c3
8 changed files with 142 additions and 219 deletions

View File

@ -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);

View File

@ -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 == "无填充")

View File

@ -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; col<columnCount; col++)
{
for(int row=0; row<rowCount; row++)
{
QTableWidgetItem* item = ui->tableWidget->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)

View File

@ -42,6 +42,7 @@ public:
public:
void Init(int iRows, int iCols);
void resizeEvent(QResizeEvent *event);
QJsonObject makeJson();
public slots:
void resizeWindow();

View File

@ -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")
{

View File

@ -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; i<columnCount; i++)
{
QJsonObject formHeadObj;
formHeadObj["id"] = i;
if( ui->tableWidget->cellWidget(i, 0) != nullptr )
{
auto myWidget = ui->tableWidget->cellWidget(i, 0);
FormHead *widgetHead = qobject_cast<FormHead*>(myWidget);
if(widgetHead)
{
QJsonObject jobj = widgetHead->makeJson();
formHeadObj["headinfo"] = jobj;
}
}
subcaseArray.append(formHeadObj);
}
rootObj["formMultiHeads"]=subcaseArray;
return rootObj;
}

View File

@ -3,6 +3,11 @@
#include <QWidget>
//
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
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代表成果表

View File

@ -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());
}
//