diff --git a/logPlus/formwell.cpp b/logPlus/formwell.cpp index 0adff99..7c52032 100644 --- a/logPlus/formwell.cpp +++ b/logPlus/formwell.cpp @@ -1204,12 +1204,12 @@ void FormWell::HideTableHead() { if(ui->tableWidget->rowCount()>0) { - //显示道头 - if(m_bShowTrackHead) - { - ui->tableWidget->showRow(0); - } - else +// //显示道头 +// if(m_bShowTrackHead) +// { +// ui->tableWidget->showRow(0); +// } +// else { ui->tableWidget->hideRow(0); } diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 6c43264..76f7c3e 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -119,6 +119,8 @@ MainWindowCurve::MainWindowCurve(QWidget *parent) : ui->tableWidget_2->setContextMenuPolicy(Qt::CustomContextMenu); // 连接信号和槽 connect(ui->tableWidget_2, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint))); + //列宽改变 + connect(ui->tableWidget_2->horizontalHeader(), &QHeaderView::sectionResized, this, &MainWindowCurve::onSectionResized); //隐藏滚动条 ui->tableWidget_2->verticalScrollBar()->setDisabled(true); // 禁用滚动 @@ -270,10 +272,12 @@ void MainWindowCurve::s_setRangeVScrollBar2(QString strUuid) getTableSize_Head_Biggest(iTableSize_Head_Biggest); //int iTableWellTrack_height_Biggest = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head_Biggest -1; - ui->verticalScrollBar_2->setRange(0, iTableSize_Head_Biggest-100-100); - ui->verticalScrollBar_2->setValue(0); +// ui->verticalScrollBar_2->setRange(0, iTableSize_Head_Biggest-100-100); +// ui->verticalScrollBar_2->setValue(0); + //2个滚动条位置 + SetScrollBar_Geometry(); - emit sig_resizeWindow(); + //emit sig_resizeWindow(); } //窗口居中处理 @@ -357,7 +361,14 @@ void MainWindowCurve::SetScrollBar_Geometry() } else { - ui->verticalScrollBar_2->hide(); + //ui->verticalScrollBar_2->hide(); + //替换为高度0,不然居中处理失效 + QRect geoRect2 = ui->verticalScrollBar_2->geometry(); + ui->verticalScrollBar_2->setGeometry(geoRect2.x(), geoRect2.y(), geoRect2.width(), 0); + // + QRect geoRect = ui->verticalScrollBar->geometry(); + ui->verticalScrollBar->setGeometry(geoRect.x(), geoRect2.y(), geoRect.width(), geoRect.height()+geoRect2.height()); + // // //获取井well前2行的高度 // int iTableSize_Head = 0; @@ -409,6 +420,8 @@ void MainWindowCurve::resizeEvent(QResizeEvent *event) int che = ui->centralwidget->height(); emit CallManage::getInstance()->sig_ResizeHeight(m_strUuid, che); + emit sig_resizeWindow(); + //2个滚动条位置 SetScrollBar_Geometry(); } @@ -3361,10 +3374,10 @@ void MainWindowCurve::_slotExport(QPrinter &printer, int IsBmp, QString pngName, // changeDepthForPrint(); // } - //切换回锁头模式 - m_fixwellsectionHeaderAc->setChecked(true); //预览 m_PreviewPrintAc->setChecked(true); + //切换回锁头模式 + m_fixwellsectionHeaderAc->setChecked(true); ShowTableHead_All(); ui->tableWidget_2->verticalScrollBar()->setValue(0); @@ -3847,19 +3860,18 @@ void MainWindowCurve::_slotExport(QPrinter &printer, int IsBmp, QString pngName, //居中显示 m_PreviewPrintAc->setChecked(false); - emit sig_resizeWindow(); - // - ShowTableHead_One(); //2个滚动条位置 SetScrollBar_Geometry(); - if(bOK) { QMessageBox::information(NULL,"提示","图件输出完成!",QMessageBox::Ok); } + ShowTableHead_One(); + //2个滚动条位置 + SetScrollBar_Geometry(); } //导出长图 @@ -3964,11 +3976,17 @@ void MainWindowCurve::s_showHeadTable() // ui->verticalScrollBar_2->show(); ShowTableHead_One(); + //通过原始的滚动条,整体滚动 //ui->tableWidget_2->verticalScrollBar()->setValue(0); + //ui->verticalScrollBar_2->setValue(0); + vertScrollBarChanged_Head(0); + //2个滚动条位置 SetScrollBar_Geometry(); ui->verticalScrollBar->setValue(-m_iY2*100); + + //QMessageBox::information(NULL,"提示","锁头完成!",QMessageBox::Ok); } else { //第一次显示,判断是否从json加载 @@ -4004,12 +4022,24 @@ void MainWindowCurve::s_showHeadTable() { m_dock2->show(); } + //---------------------- + //ui->verticalScrollBar_2->hide(); + //替换为高度0,不然居中处理失效 + QRect geoRect2 = ui->verticalScrollBar_2->geometry(); + ui->verticalScrollBar_2->setGeometry(geoRect2.x(), geoRect2.y(), geoRect2.width(), 0); // - ui->verticalScrollBar_2->hide(); + QRect geoRect = ui->verticalScrollBar->geometry(); + ui->verticalScrollBar->setGeometry(geoRect.x(), geoRect2.y(), geoRect.width(), geoRect.height()+geoRect2.height()); + //---------------------- + //通过原始的滚动条,整体滚动 //ui->tableWidget_2->verticalScrollBar()->setValue(0); ShowTableHead_All(); ui->verticalScrollBar->setValue(-m_iY2*100); + + //QMessageBox::information(NULL,"提示","锁头取消!",QMessageBox::Ok); + + } } @@ -6316,6 +6346,8 @@ void MainWindowCurve::ShowTableHead_All() } } } + //居中 + emit sig_resizeWindow(); } void MainWindowCurve::ShowTableHead_One() @@ -6354,6 +6386,8 @@ void MainWindowCurve::ShowTableHead_One() } } } + //居中 + emit sig_resizeWindow(); } //打开成果表 @@ -6366,3 +6400,17 @@ void MainWindowCurve::slotCreateTail() { m_dock2->show(); } + +//列宽改变 +void MainWindowCurve::onSectionResized(int logicalIndex, int oldSize, int newSize) +{ + if(g_iLoadingJson==1)//针对模板加载,不处理列宽改变,避免多次冲突 + { + return; + } + + qDebug() << "onSectionResized"; + + //居中 + emit sig_resizeWindow(); +} diff --git a/logPlus/mainwindowcurve.h b/logPlus/mainwindowcurve.h index 1da87b5..ef0dfe8 100644 --- a/logPlus/mainwindowcurve.h +++ b/logPlus/mainwindowcurve.h @@ -230,6 +230,9 @@ public slots: //窗口居中处理 void resizeWindow(); + //列宽改变 + void onSectionResized(int logicalIndex, int oldSize, int newSize); + public: QAction* m_selectWellAc = nullptr; //选择井 QAction* m_fixwellsectionHeaderAc = nullptr; //锁头