支持从json文件,加载图头、成果表
This commit is contained in:
parent
c422a3d87a
commit
4fb6c50b53
|
|
@ -231,6 +231,236 @@ void FormHead::Init(int iRows, int iCols)
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString)));
|
connect(CallManage::getInstance(), SIGNAL(sig_UnSelectTableItem(QString)), this, SLOT(s_UnSelectTableItem(QString)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//更新
|
||||||
|
void FormHead::updateJsonInfo(QJsonObject headObjInfo)
|
||||||
|
{
|
||||||
|
//展示其中一行
|
||||||
|
int iCols = 0;
|
||||||
|
int iRows = 0;
|
||||||
|
//
|
||||||
|
if (headObjInfo.contains("iCols"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObjInfo.value("iCols");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
iCols = value.toInt();
|
||||||
|
qDebug() << "iCols:" << QString::number(iCols);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (headObjInfo.contains("iRows"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObjInfo.value("iRows");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
iRows = value.toInt();
|
||||||
|
qDebug() << "iRows:" << QString::number(iRows);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
QJsonArray itemsArray;
|
||||||
|
if (headObjInfo.contains("items"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObjInfo.value("items");
|
||||||
|
if (value.isArray()) {
|
||||||
|
itemsArray = value.toArray();
|
||||||
|
qDebug() << "tracksArray number:" << QString::number(itemsArray.size());
|
||||||
|
//展示所有单元格
|
||||||
|
DisplayItems(itemsArray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//大小改变
|
||||||
|
resizeWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
//展示所有单元格
|
||||||
|
void FormHead::DisplayItems(QJsonArray itemsArray)
|
||||||
|
{
|
||||||
|
int iCount = itemsArray.size();
|
||||||
|
for(int i=0; i<iCount; i++)
|
||||||
|
{
|
||||||
|
QJsonValue itemValue = itemsArray[i];
|
||||||
|
|
||||||
|
QJsonObject itemObj = itemValue.toObject();
|
||||||
|
int col=-1;
|
||||||
|
int row=-1;
|
||||||
|
//
|
||||||
|
if (itemObj.contains("col"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("col");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
col = value.toInt();
|
||||||
|
qDebug() << "col:" << QString::number(col);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (itemObj.contains("row"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("row");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
row = value.toInt();
|
||||||
|
qDebug() << "row:" << QString::number(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(col>-1 && row>-1)
|
||||||
|
{
|
||||||
|
QTableWidgetItem* item = ui->tableWidget->item(row, col);
|
||||||
|
//内容
|
||||||
|
if (itemObj.contains("text"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("text");
|
||||||
|
if (value.isString()) {
|
||||||
|
QString newText = value.toString();
|
||||||
|
qDebug() << "text:" << newText;
|
||||||
|
item->setText(newText);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//字体
|
||||||
|
if (itemObj.contains("Font"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("Font");
|
||||||
|
QFont newFont;
|
||||||
|
newFont.fromString(value.toString());
|
||||||
|
item->setFont(newFont);
|
||||||
|
}
|
||||||
|
//字体颜色
|
||||||
|
if (itemObj.contains("FontColor"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("FontColor");
|
||||||
|
QColor newColor;
|
||||||
|
newColor.setNamedColor(value.toString());
|
||||||
|
// 设置字体颜色
|
||||||
|
QBrush brush(newColor);
|
||||||
|
item->setForeground(brush);
|
||||||
|
}
|
||||||
|
//背景颜色
|
||||||
|
if (itemObj.contains("backColor"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("backColor");
|
||||||
|
QColor newColor;
|
||||||
|
newColor.setNamedColor(value.toString());
|
||||||
|
// 设置颜色
|
||||||
|
QBrush brush(newColor);
|
||||||
|
item->setBackground(brush);
|
||||||
|
}
|
||||||
|
//列宽(cm)
|
||||||
|
double colWidth = 0;
|
||||||
|
double rowHeight = 0;
|
||||||
|
if (itemObj.contains("colWidth"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("colWidth");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
colWidth = value.toDouble();
|
||||||
|
qDebug() << "colWidth:" << QString::number(colWidth);
|
||||||
|
ui->tableWidget->setColumnWidth(col, colWidth*g_dPixelPerCm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//行高
|
||||||
|
if (itemObj.contains("rowHeight"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("rowHeight");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
rowHeight = value.toDouble();
|
||||||
|
qDebug() << "rowHeight:" << QString::number(rowHeight);
|
||||||
|
ui->tableWidget->setRowHeight(row, rowHeight*g_dPixelPerCm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//图例
|
||||||
|
QString imagePath = "";
|
||||||
|
double colWidth_Img = 0;
|
||||||
|
double rowHeight_Img = 0;
|
||||||
|
if (itemObj.contains("imagePath"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("imagePath");
|
||||||
|
if (value.isString()) {
|
||||||
|
imagePath = value.toString();
|
||||||
|
qDebug() << "imagePath:" << imagePath;
|
||||||
|
item->setData(Qt::UserRole+1, imagePath); // 图片路径
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//图例宽(cm)
|
||||||
|
if (itemObj.contains("colWidth_Img"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("colWidth_Img");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
colWidth_Img = value.toDouble();
|
||||||
|
qDebug() << "colWidth_Img:" << QString::number(colWidth_Img);
|
||||||
|
item->setData(Qt::UserRole+2, colWidth_Img);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//图例高(cm)
|
||||||
|
if (itemObj.contains("rowHeight_Img"))
|
||||||
|
{
|
||||||
|
QJsonValue value = itemObj.value("rowHeight_Img");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
rowHeight_Img = value.toDouble();
|
||||||
|
qDebug() << "rowHeight_Img:" << QString::number(rowHeight_Img);
|
||||||
|
item->setData(Qt::UserRole+3, rowHeight_Img);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(imagePath != "")
|
||||||
|
{
|
||||||
|
//图例
|
||||||
|
ChangHeadItemProperty(row, col, imagePath, colWidth_Img*g_dPixelPerCm, rowHeight_Img*g_dPixelPerCm);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormHead::ChangHeadItemProperty(int iRow, int iCol, QString imagePath, int colWidth, int rowHeight)
|
||||||
|
{
|
||||||
|
//清空
|
||||||
|
ui->tableWidget->setCellWidget(iRow, iCol, nullptr);
|
||||||
|
|
||||||
|
if(imagePath!="")
|
||||||
|
{
|
||||||
|
if(imagePath.size()>4)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
QString strLast = imagePath.right(4);
|
||||||
|
if(strLast.toLower()==".svg")
|
||||||
|
{
|
||||||
|
//
|
||||||
|
QSvgRenderer* svgRender = new QSvgRenderer();
|
||||||
|
svgRender->load(imagePath);
|
||||||
|
//
|
||||||
|
QPixmap* pixmap = new QPixmap(colWidth-1, rowHeight-1);
|
||||||
|
pixmap->fill(Qt::transparent);//设置背景透明
|
||||||
|
QPainter p(pixmap);
|
||||||
|
svgRender->render(&p);
|
||||||
|
//1.直接采用控件显示
|
||||||
|
QLabel* label = new QLabel;
|
||||||
|
label->setPixmap(*pixmap);
|
||||||
|
label->setAlignment(Qt::AlignHCenter);
|
||||||
|
label->show();
|
||||||
|
//
|
||||||
|
ui->tableWidget->setCellWidget(iRow, iCol, label);
|
||||||
|
|
||||||
|
//m_item->setIcon(QIcon(*pixmap));
|
||||||
|
// 设置背景刷
|
||||||
|
//QBrush brush(*pixmap);
|
||||||
|
//m_item->setBackground(brush);
|
||||||
|
//m_tableWidget->setItem(m_iRow, m_iCol, new QTableWidgetItem(QIcon(*pixmap),tr("")));
|
||||||
|
}
|
||||||
|
else if(strLast.toLower()==".png")
|
||||||
|
{
|
||||||
|
// 加载图片
|
||||||
|
QPixmap pixmap(imagePath);
|
||||||
|
//pixmap.scaled(colWidth-1, rowHeight-1, Qt::KeepAspectRatio, Qt::SmoothTransformation);//缩放
|
||||||
|
//1.直接采用控件显示
|
||||||
|
QLabel* label = new QLabel;
|
||||||
|
label->setPixmap(pixmap.scaled(colWidth-1, rowHeight-1, Qt::KeepAspectRatio, Qt::SmoothTransformation));//图片保持比例缩放
|
||||||
|
label->setAlignment(Qt::AlignHCenter);
|
||||||
|
label->show();
|
||||||
|
//
|
||||||
|
ui->tableWidget->setCellWidget(iRow, iCol, label);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QJsonObject FormHead::makeJson()
|
QJsonObject FormHead::makeJson()
|
||||||
{
|
{
|
||||||
|
|
@ -249,11 +479,11 @@ QJsonObject FormHead::makeJson()
|
||||||
{
|
{
|
||||||
for(int row=0; row<rowCount; row++)
|
for(int row=0; row<rowCount; row++)
|
||||||
{
|
{
|
||||||
QTableWidgetItem* item = ui->tableWidget->item(col, row);
|
QTableWidgetItem* item = ui->tableWidget->item(row, col);
|
||||||
|
|
||||||
QJsonObject formHeadObj;
|
QJsonObject formHeadObj;
|
||||||
formHeadObj["col"] = col;
|
|
||||||
formHeadObj["row"] = row;
|
formHeadObj["row"] = row;
|
||||||
|
formHeadObj["col"] = col;
|
||||||
if(item)
|
if(item)
|
||||||
{
|
{
|
||||||
//图例
|
//图例
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,13 @@ public:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void Init(int iRows, int iCols);
|
void Init(int iRows, int iCols);
|
||||||
|
//更新
|
||||||
|
void updateJsonInfo(QJsonObject headObjInfo);
|
||||||
|
//展示所有单元格
|
||||||
|
void DisplayItems(QJsonArray tracksArray);
|
||||||
|
//图例
|
||||||
|
void ChangHeadItemProperty(int iRow, int iCol, QString imagePath, int colWidth, int rowHeight);
|
||||||
|
|
||||||
void resizeEvent(QResizeEvent *event);
|
void resizeEvent(QResizeEvent *event);
|
||||||
QJsonObject makeJson();
|
QJsonObject makeJson();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ extern int g_iColsWidth;
|
||||||
extern int g_iRowsHight;
|
extern int g_iRowsHight;
|
||||||
extern int g_iFixedWidth;
|
extern int g_iFixedWidth;
|
||||||
extern int g_iFixedHeight;
|
extern int g_iFixedHeight;
|
||||||
|
extern double g_dPixelPerCm;//每厘米像素数
|
||||||
|
|
||||||
FormMultiHeads::FormMultiHeads(QWidget *parent) :
|
FormMultiHeads::FormMultiHeads(QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
|
|
@ -62,7 +63,6 @@ FormMultiHeads::~FormMultiHeads()
|
||||||
|
|
||||||
void FormMultiHeads::slotContextMenu(QPoint pos)
|
void FormMultiHeads::slotContextMenu(QPoint pos)
|
||||||
{
|
{
|
||||||
QtCommonClass *qtCommon = new QtCommonClass(this);
|
|
||||||
//
|
//
|
||||||
QString strMenu= "";
|
QString strMenu= "";
|
||||||
if(m_strHeadOrTail == "Head")
|
if(m_strHeadOrTail == "Head")
|
||||||
|
|
@ -84,37 +84,7 @@ void FormMultiHeads::slotContextMenu(QPoint pos)
|
||||||
if (result == QDialog::Accepted) {
|
if (result == QDialog::Accepted) {
|
||||||
// 处理用户点击了确定按钮的逻辑
|
// 处理用户点击了确定按钮的逻辑
|
||||||
qDebug() << "Accepted=";
|
qDebug() << "Accepted=";
|
||||||
|
AddHead();
|
||||||
int rowcount = ui->tableWidget->rowCount(); //总行数
|
|
||||||
//增加1行
|
|
||||||
ui->tableWidget->setRowCount(rowcount+1);
|
|
||||||
//行标题
|
|
||||||
QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
|
||||||
ui->tableWidget->setVerticalHeaderItem(rowcount, headerItem);
|
|
||||||
|
|
||||||
int tempWidth = g_iCols*g_iColsWidth+g_iFixedWidth+8;
|
|
||||||
int tempHight = g_iRows*g_iRowsHight+g_iFixedHeight+8;
|
|
||||||
//设置行高度
|
|
||||||
ui->tableWidget->setRowHeight(rowcount, tempHight);
|
|
||||||
if(rowcount==0)
|
|
||||||
{
|
|
||||||
//设置列宽
|
|
||||||
ui->tableWidget->setColumnWidth(0, tempWidth);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int iWidth=ui->tableWidget->columnWidth(0);
|
|
||||||
if(iWidth<g_iCols*g_iColsWidth)//列宽变大,以最大列宽为准
|
|
||||||
{
|
|
||||||
//设置列宽
|
|
||||||
ui->tableWidget->setColumnWidth(0, tempWidth);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//
|
|
||||||
QString strUuid = qtCommon->getUUid();
|
|
||||||
FormHead *widgetHead = new FormHead(this, strUuid);
|
|
||||||
widgetHead->Init(g_iRows, g_iCols);
|
|
||||||
ui->tableWidget->setCellWidget(rowcount, 0, widgetHead);
|
|
||||||
}
|
}
|
||||||
else if (result == QDialog::Rejected) {
|
else if (result == QDialog::Rejected) {
|
||||||
// 处理用户点击了取消按钮的逻辑
|
// 处理用户点击了取消按钮的逻辑
|
||||||
|
|
@ -127,7 +97,43 @@ void FormMultiHeads::slotContextMenu(QPoint pos)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormMultiHeads::resizeItem(QString indexID, double tempWidth, double tempHight)
|
//添加图头
|
||||||
|
void FormMultiHeads::AddHead()
|
||||||
|
{
|
||||||
|
int rowcount = ui->tableWidget->rowCount(); //总行数
|
||||||
|
//增加1行
|
||||||
|
ui->tableWidget->setRowCount(rowcount+1);
|
||||||
|
//行标题
|
||||||
|
QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
||||||
|
ui->tableWidget->setVerticalHeaderItem(rowcount, headerItem);
|
||||||
|
|
||||||
|
int colWidth = g_iCols*g_iColsWidth+g_iFixedWidth+8;
|
||||||
|
int rowHight = g_iRows*g_iRowsHight+g_iFixedHeight+8;
|
||||||
|
//设置行高度
|
||||||
|
ui->tableWidget->setRowHeight(rowcount, rowHight);
|
||||||
|
if(rowcount==0)
|
||||||
|
{
|
||||||
|
//设置列宽
|
||||||
|
ui->tableWidget->setColumnWidth(0, colWidth);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int iWidth=ui->tableWidget->columnWidth(0);
|
||||||
|
if(iWidth<g_iCols*g_iColsWidth)//列宽变大,以最大列宽为准
|
||||||
|
{
|
||||||
|
//设置列宽
|
||||||
|
ui->tableWidget->setColumnWidth(0, colWidth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
QtCommonClass *qtCommon = new QtCommonClass(this);
|
||||||
|
QString strUuid = qtCommon->getUUid();
|
||||||
|
FormHead *widgetHead = new FormHead(this, strUuid);
|
||||||
|
widgetHead->Init(g_iRows, g_iCols);
|
||||||
|
ui->tableWidget->setCellWidget(rowcount, 0, widgetHead);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormMultiHeads::resizeItem(QString indexID, double colWidth, double rowHight)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
int rowCount = ui->tableWidget->rowCount();//总行数
|
int rowCount = ui->tableWidget->rowCount();//总行数
|
||||||
|
|
@ -145,13 +151,13 @@ void FormMultiHeads::resizeItem(QString indexID, double tempWidth, double tempHi
|
||||||
if(widgetHead->m_indexID == indexID)
|
if(widgetHead->m_indexID == indexID)
|
||||||
{
|
{
|
||||||
//设置行高度
|
//设置行高度
|
||||||
ui->tableWidget->setRowHeight(i, tempHight+8);
|
ui->tableWidget->setRowHeight(i, rowHight+8);
|
||||||
|
|
||||||
int iWidth=ui->tableWidget->columnWidth(0);
|
int iWidth=ui->tableWidget->columnWidth(0);
|
||||||
if(iWidth<tempWidth+8)//列宽变大,以最大列宽为准
|
if(iWidth<colWidth+8)//列宽变大,以最大列宽为准
|
||||||
{
|
{
|
||||||
//设置列宽
|
//设置列宽
|
||||||
ui->tableWidget->setColumnWidth(0, tempWidth+8);
|
ui->tableWidget->setColumnWidth(0, colWidth+8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -160,19 +166,26 @@ void FormMultiHeads::resizeItem(QString indexID, double tempWidth, double tempHi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject FormMultiHeads::makeJson()
|
QJsonArray FormMultiHeads::makeJsonArray()
|
||||||
{
|
{
|
||||||
// 创建根对象
|
//列宽
|
||||||
QJsonObject rootObj;
|
double colWidth = ui->tableWidget->columnWidth(0)/g_dPixelPerCm;
|
||||||
|
double rowHeight = 0;
|
||||||
|
|
||||||
// 创建JSON数组并填充数据
|
// 创建JSON数组并填充数据
|
||||||
QJsonArray subcaseArray;
|
QJsonArray subcaseArray;
|
||||||
//
|
//
|
||||||
int columnCount = ui->tableWidget->columnCount();//总列数
|
int rowCount = ui->tableWidget->rowCount();//总行数
|
||||||
for(int i=0; i<columnCount; i++)
|
for(int i=0; i<rowCount; i++)
|
||||||
{
|
{
|
||||||
|
//行高
|
||||||
|
rowHeight = ui->tableWidget->rowHeight(i)/g_dPixelPerCm;
|
||||||
|
|
||||||
QJsonObject formHeadObj;
|
QJsonObject formHeadObj;
|
||||||
formHeadObj["id"] = i;
|
formHeadObj["id"] = i;
|
||||||
|
formHeadObj["colWidth"] = colWidth;
|
||||||
|
formHeadObj["rowHeight"] = rowHeight;
|
||||||
|
|
||||||
if( ui->tableWidget->cellWidget(i, 0) != nullptr )
|
if( ui->tableWidget->cellWidget(i, 0) != nullptr )
|
||||||
{
|
{
|
||||||
auto myWidget = ui->tableWidget->cellWidget(i, 0);
|
auto myWidget = ui->tableWidget->cellWidget(i, 0);
|
||||||
|
|
@ -185,7 +198,116 @@ QJsonObject FormMultiHeads::makeJson()
|
||||||
}
|
}
|
||||||
subcaseArray.append(formHeadObj);
|
subcaseArray.append(formHeadObj);
|
||||||
}
|
}
|
||||||
rootObj["formMultiHeads"]=subcaseArray;
|
|
||||||
|
|
||||||
return rootObj;
|
return subcaseArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
//展示所有图头/成果表
|
||||||
|
//Head代表图头, Tail代表成果表
|
||||||
|
void FormMultiHeads::DisplayHeads(QJsonArray headsArray, QString strHeadOrTail)
|
||||||
|
{
|
||||||
|
QtCommonClass *qtCommon = new QtCommonClass(this);
|
||||||
|
QMap<int, int> mapHeads;
|
||||||
|
double colWidth = 0;
|
||||||
|
double rowHeight = 0;
|
||||||
|
|
||||||
|
int id = 0;
|
||||||
|
int iCount = headsArray.size();
|
||||||
|
for(int i=0; i<iCount; i++)
|
||||||
|
{
|
||||||
|
QJsonValue headValue = headsArray[i];
|
||||||
|
|
||||||
|
QJsonObject headObj = headValue.toObject();
|
||||||
|
//
|
||||||
|
if (headObj.contains("id"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObj.value("id");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
id = value.toInt();
|
||||||
|
qDebug() << "id:" << QString::number(id);
|
||||||
|
//
|
||||||
|
mapHeads.insert(id, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int id=0; id<iCount; id++)
|
||||||
|
{
|
||||||
|
if(mapHeads.contains(id))
|
||||||
|
{
|
||||||
|
int iNum = mapHeads.value(id);
|
||||||
|
//按照id顺序,展示井
|
||||||
|
QJsonValue headValue = headsArray[iNum];
|
||||||
|
QJsonObject headObj = headValue.toObject();
|
||||||
|
//
|
||||||
|
if(id==0)
|
||||||
|
{
|
||||||
|
if (headObj.contains("colWidth"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObj.value("colWidth");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
colWidth = value.toDouble();
|
||||||
|
qDebug() << "colWidth:" << QString::number(colWidth);
|
||||||
|
//设置列宽
|
||||||
|
ui->tableWidget->setColumnWidth(0, colWidth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (headObj.contains("rowHeight"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObj.value("rowHeight");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
rowHeight = value.toDouble();
|
||||||
|
qDebug() << "rowHeight:" << QString::number(rowHeight);
|
||||||
|
//设置行高度
|
||||||
|
ui->tableWidget->setRowHeight(id, rowHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int rowcount = ui->tableWidget->rowCount(); //总行数
|
||||||
|
//增加1行
|
||||||
|
ui->tableWidget->setRowCount(rowcount+1);
|
||||||
|
//行标题
|
||||||
|
QTableWidgetItem *headerItem = new QTableWidgetItem("");
|
||||||
|
ui->tableWidget->setVerticalHeaderItem(rowcount, headerItem);
|
||||||
|
|
||||||
|
if (headObj.contains("headinfo"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObj.value("headinfo");
|
||||||
|
if (value.isObject()) {
|
||||||
|
QJsonObject headObjInfo = value.toObject();
|
||||||
|
//展示其中一行
|
||||||
|
int iCols = 0;
|
||||||
|
int iRows = 0;
|
||||||
|
//
|
||||||
|
if (headObjInfo.contains("iCols"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObjInfo.value("iCols");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
iCols = value.toInt();
|
||||||
|
qDebug() << "iCols:" << QString::number(iCols);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (headObjInfo.contains("iRows"))
|
||||||
|
{
|
||||||
|
QJsonValue value = headObjInfo.value("iRows");
|
||||||
|
if (value.isDouble()) {
|
||||||
|
iRows = value.toInt();
|
||||||
|
qDebug() << "iRows:" << QString::number(iRows);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
QString strUuid = qtCommon->getUUid();
|
||||||
|
FormHead *widgetHead = new FormHead(this, strUuid);
|
||||||
|
widgetHead->Init(iRows, iCols);
|
||||||
|
ui->tableWidget->setCellWidget(rowcount, 0, widgetHead);
|
||||||
|
//
|
||||||
|
widgetHead->updateJsonInfo(headObjInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,13 @@ public slots:
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
void AddHead();
|
||||||
void resizeItem(QString indexID, double tempWidth, double tempHight);
|
void resizeItem(QString indexID, double tempWidth, double tempHight);
|
||||||
QJsonObject makeJson();
|
QJsonArray makeJsonArray();
|
||||||
|
|
||||||
|
//展示所有图头/成果表
|
||||||
|
//Head代表图头, Tail代表成果表
|
||||||
|
void DisplayHeads(QJsonArray headsArray, QString strHeadOrTail);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QString m_strHeadOrTail = ""; //Head代表图头, Tail代表成果表
|
QString m_strHeadOrTail = ""; //Head代表图头, Tail代表成果表
|
||||||
|
|
|
||||||
|
|
@ -2391,9 +2391,9 @@ QJsonObject MainWindowCurve::makeJson()
|
||||||
rootObj["wells"]=subcaseArray;
|
rootObj["wells"]=subcaseArray;
|
||||||
|
|
||||||
//图头
|
//图头
|
||||||
rootObj["heads"]=m_formMultiHeads->makeJson();
|
rootObj["heads"]=m_formMultiHeads->makeJsonArray();
|
||||||
//成果表
|
//成果表
|
||||||
rootObj["tails"]=m_formMultiTails->makeJson();
|
rootObj["tails"]=m_formMultiTails->makeJsonArray();
|
||||||
|
|
||||||
|
|
||||||
return rootObj;
|
return rootObj;
|
||||||
|
|
@ -3316,6 +3316,8 @@ void MainWindowCurve::Open(QString fileFull)
|
||||||
{
|
{
|
||||||
QString strPrjname = "";
|
QString strPrjname = "";
|
||||||
QJsonArray wellsArray;
|
QJsonArray wellsArray;
|
||||||
|
QJsonArray headsArray;
|
||||||
|
QJsonArray tailsArray;
|
||||||
|
|
||||||
QJsonParseError jsonError;
|
QJsonParseError jsonError;
|
||||||
// 文件
|
// 文件
|
||||||
|
|
@ -3389,6 +3391,30 @@ void MainWindowCurve::Open(QString fileFull)
|
||||||
DisplayWells(wellsArray);
|
DisplayWells(wellsArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
QString strHeadOrTail = ""; //Head代表图头, Tail代表成果表
|
||||||
|
if (object.contains("heads"))
|
||||||
|
{
|
||||||
|
QJsonValue value = object.value("heads");
|
||||||
|
if (value.isArray()) {
|
||||||
|
headsArray = value.toArray();
|
||||||
|
qDebug() << "headsArray number:" << QString::number(headsArray.size());
|
||||||
|
//展示所有图头
|
||||||
|
strHeadOrTail = "Head"; //Head代表图头, Tail代表成果表
|
||||||
|
m_formMultiHeads->DisplayHeads(headsArray, strHeadOrTail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (object.contains("tails"))
|
||||||
|
{
|
||||||
|
QJsonValue value = object.value("tails");
|
||||||
|
if (value.isArray()) {
|
||||||
|
tailsArray = value.toArray();
|
||||||
|
qDebug() << "tailsArray number:" << QString::number(tailsArray.size());
|
||||||
|
//展示所有图头
|
||||||
|
strHeadOrTail = "Tail"; //Head代表图头, Tail代表成果表
|
||||||
|
m_formMultiTails->DisplayHeads(tailsArray, strHeadOrTail);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user