道头高度可调整,拖动调整高度

This commit is contained in:
jiayulong 2026-04-15 18:50:26 +08:00
parent fcca5c49f3
commit bc3cebbd1a
4 changed files with 114 additions and 6 deletions

View File

@ -29,11 +29,11 @@ FormWell::FormWell(QWidget *parent, QString strWellName) :
m_xiProperty.m_clor = QColor(208,208,208);
ui->tableWidget->verticalHeader()->hide(); //行
//ui->tableWidget->verticalHeader()->hide(); //行
ui->tableWidget->horizontalHeader()->hide();//列
int rowcount = 3; //总行数
ui->tableWidget->setRowCount(rowcount); //动态设置行数
//ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
ui->tableWidget->verticalHeader()->setFixedWidth(3);//标题栏宽度
ui->tableWidget->horizontalHeader()->setFixedHeight(3);
ui->tableWidget->setShowGrid(false);
@ -901,13 +901,44 @@ void FormWell::getTableSize_Head(int &iHight)
//获取可视视图大小 tableWidget
iHight = 0;
for(int i=0; i<2; i++)
if(ui->tableWidget->rowCount()>0)
{
//高度
iHight += ui->tableWidget->rowHeight(i);
for(int i=0; i<2; i++)
{
//高度
iHight += ui->tableWidget->rowHeight(i);
}
}
if(iHight == 0)
{
iHight = 100 + 300;
}
}
//获取各行的高度
void FormWell::getRowHeight_Well(int &iHight1, int &iHight2, int &iHight3)
{
iHight1 = 0;
iHight2 = 0;
iHight3 = 0;
if(ui->tableWidget->rowCount()>0)
{
//高度
iHight1 = ui->tableWidget->rowHeight(0);
iHight2 = ui->tableWidget->rowHeight(1);
iHight3 = ui->tableWidget->rowHeight(2);
}
}
//设置各行的高度
void FormWell::setRowHeight_Well(int iHight1, int iHight2, int iHight3)
{
if(ui->tableWidget->rowCount()>0)
{
//高度
ui->tableWidget->setRowHeight(0, iHight1);
ui->tableWidget->setRowHeight(1, iHight2);
ui->tableWidget->setRowHeight(2, iHight3);
ui->tableWidget->update();
}
}

View File

@ -86,7 +86,9 @@ public:
//获取当前井的所有道名称
QStringList getTrackNameList();
void getTableSize_Head(int &iHight);
void getTableSize_Head(int &iHight);
void getRowHeight_Well(int &iHight1, int &iHight2, int &iHight3);
void setRowHeight_Well(int iHight1, int iHight2, int iHight3);
public slots:
//void onTableColumnsInserted(const QModelIndex &parent, int first, int last);

View File

@ -2547,6 +2547,9 @@ void MainWindowCurve::_slotExport(QPrinter &printer, int IsBmp, QString pngName,
pPixmap_Tail.save(tmpPath + "pPixmap_Tail.png");
//中间
//重新设置well表格高度防止有人拖拽改变高度后出图高度不一致
//默认采用第1口井的表格高度
setTableSize_Well();
m_dock1->hide();
m_dock2->hide();
ui->centralwidget->show();
@ -4648,6 +4651,17 @@ void MainWindowCurve::getTableSize_Head(int &iHight)
//获取可视视图大小 well井
iHight = 0;
int columnCount = ui->tableWidget_2->columnCount();//总列数
if(columnCount ==0)
{
if(iHight == 0)
{
iHight = 100 + 300;
}
return;
}
//
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
@ -4661,4 +4675,64 @@ void MainWindowCurve::getTableSize_Head(int &iHight)
}
}
}
//
if(iHight == 0)
{
iHight = 100 + 300;
}
}
//重新设置well表格高度防止有人拖拽改变高度后出图高度不一致
//默认采用第1口井的表格高度
void MainWindowCurve::setTableSize_Well()
{
int columnCount = ui->tableWidget_2->columnCount();//总列数
if(columnCount == 0 || columnCount == 1)//只有1口井不需要操作
{
return;
}
//
int iHight1=0;
int iHight2=0;
int iHight3=0;
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
if(myWidget)
{
//
FormWell *widgetWell = (FormWell*)myWidget;//获得widget
if(widgetWell)
{
widgetWell->getRowHeight_Well(iHight1, iHight2, iHight3);
}
}
}
for(int i=2; i<columnCount; i++)
{
if(i%2==0)
{
}
else
{
//空白列
continue;
}
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
FormWell *widgetWell = (FormWell*)myWidget;//获得widget
if(widgetWell)
{
widgetWell->setRowHeight_Well(iHight1, iHight2, iHight3);
}
}
}
}
}

View File

@ -45,6 +45,7 @@ protected:
public:
void resizeItem(QString strWellName, double tempWidth, double tempHight);
void getTableSize_Head(int &iHight);
void setTableSize_Well();
public slots:
void dragEnterEvent(QDragEnterEvent* event);