From 3d0dc7fc4fe25d612dea567d7b14989b3d3d9ee3 Mon Sep 17 00:00:00 2001 From: jiayulong Date: Thu, 25 Jun 2026 10:29:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=87=BA=E5=9B=BE=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E9=92=88=E5=AF=B9=E5=9B=BE=E5=A4=B4=E5=92=8C=E6=88=90?= =?UTF-8?q?=E6=9E=9C=E8=A1=A8=EF=BC=8C=E4=BC=98=E5=8C=96=E8=A1=8C=E9=AB=98?= =?UTF-8?q?=E5=88=97=E5=AE=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logPlus/PropertyWidget.cpp | 8 ++++-- logPlus/formhead.cpp | 52 ++++++++++++++++++++++++++++++++++++++ logPlus/formhead.h | 4 +++ logPlus/formmultiheads.cpp | 3 +++ 4 files changed, 65 insertions(+), 2 deletions(-) diff --git a/logPlus/PropertyWidget.cpp b/logPlus/PropertyWidget.cpp index 041e2af..c2b083f 100644 --- a/logPlus/PropertyWidget.cpp +++ b/logPlus/PropertyWidget.cpp @@ -2353,6 +2353,8 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant //图头项改变 m_tableWidget->setColumnWidth(m_iCol, m_colWidth*g_dPixelPerCm); m_tableWidget->update(); + //设置列宽 + m_formHead->setColumnWidth_Property(m_iCol, m_colWidth); m_formHead->resizeWindow(); } else if("行高(cm)" == m_propertyData[pProperty]) @@ -2365,6 +2367,8 @@ void PropertyWidget::SlotPropertyChanged( QtProperty *pProperty, const QVariant //图头项改变 m_tableWidget->setRowHeight(m_iRow, m_rowHeight*g_dPixelPerCm); m_tableWidget->update(); + //设置行高 + m_formHead->setRowHeight_Property(m_iRow, m_rowHeight); m_formHead->resizeWindow(); } else if("内容" == m_propertyData[pProperty]) @@ -3293,8 +3297,8 @@ void PropertyWidget::initHeadProperty(FormHead *formHead, QTableWidget *tableWid //图例高 m_rowHeight_Img = m_item->m_rowHeight_Img; //行高、列宽 - m_colWidth = tableWidget->columnWidth(col)/g_dPixelPerCm; - m_rowHeight = tableWidget->rowHeight(row)/g_dPixelPerCm; + m_colWidth = m_item->m_colWidth;//tableWidget->columnWidth(col)/g_dPixelPerCm; + m_rowHeight = m_item->m_rowHeight;//tableWidget->rowHeight(row)/g_dPixelPerCm; //公式 m_strFormulaText = m_item->m_strFormulaText; //公式操作类型 diff --git a/logPlus/formhead.cpp b/logPlus/formhead.cpp index 830ad8b..82fecfe 100644 --- a/logPlus/formhead.cpp +++ b/logPlus/formhead.cpp @@ -1419,6 +1419,58 @@ void FormHead::getTableSize_Biggest(int &iWidth, int &iHight) else{ continue; } + } + iWidth += columnCount; + iHight += rowCount; + + iWidth = iWidth + ui->tableWidget->verticalScrollBar()->width(); + iHight = iHight + ui->tableWidget->horizontalScrollBar()->height(); +} + +//设置列宽 +void FormHead::setColumnWidth_Property(int column, double width) +{ + int rowCount = ui->tableWidget->rowCount();//总行数 + for(int row=0; rowtableWidget->cellWidget(row, column); + if(myWidget) + { + formTableItemTmp = (FormTableItem*)myWidget;//获得widget + if(!formTableItemTmp) + { + continue; + } + + formTableItemTmp->m_colWidth = width; + } + else{ + continue; + } + } +} + +//设置行高 +void FormHead::setRowHeight_Property(int row, double height) +{ + int columnCount = ui->tableWidget->columnCount();//总列数 + for(int col=0; coltableWidget->cellWidget(row, col); + if(myWidget) + { + formTableItemTmp = (FormTableItem*)myWidget;//获得widget + if(!formTableItemTmp) + { + continue; + } + formTableItemTmp->m_rowHeight = height; + } + else{ + continue; + } } } diff --git a/logPlus/formhead.h b/logPlus/formhead.h index 5f89e55..5b25122 100644 --- a/logPlus/formhead.h +++ b/logPlus/formhead.h @@ -55,6 +55,10 @@ public: //获取表格的实际大小 void getTableSize_Biggest(int &iWidth, int &iHight); + //设置列宽 + void setColumnWidth_Property(int column, double width); + //设置行高 + void setRowHeight_Property(int row, double height); public slots: void resizeWindow(bool bDelete=false); diff --git a/logPlus/formmultiheads.cpp b/logPlus/formmultiheads.cpp index e0cce74..aa9c4e1 100644 --- a/logPlus/formmultiheads.cpp +++ b/logPlus/formmultiheads.cpp @@ -439,4 +439,7 @@ void FormMultiHeads::getTableSize_Biggest(int &iWidth_Big, int &iHight_Big) iWidth_Big = iWidth_Big + left + right; iHight_Big = iHight_Big + top + bottom;//Margin上方 + + iWidth_Big = iWidth_Big + ui->tableWidget->verticalScrollBar()->width(); + iHight_Big = iHight_Big + ui->tableWidget->horizontalScrollBar()->height(); }