道头的滚动条优化

This commit is contained in:
jiayulong 2026-05-28 15:10:10 +08:00
parent 2c9e8b7883
commit 12d0c42d1c
3 changed files with 89 additions and 17 deletions

View File

@ -1123,10 +1123,15 @@ void FormWell::getTableSize_Head_Biggest(int &iHight)
//获取可视视图大小 tableWidget
iHight = 0;
if(ui->tableWidget->rowCount()>0)
int iRowCnt = ui->tableWidget->rowCount();
if(iRowCnt>0)
{
//高度
iHight = ui->tableWidget->rowHeight(0);
if(iHight == 0)
{
iHight = 1;
}
}
//
int iHight_Big = 0;

View File

@ -273,6 +273,48 @@ void MainWindowCurve::s_setRangeVScrollBar2(QString strUuid)
ui->verticalScrollBar_2->setValue(0);
}
//窗口居中处理
void MainWindowCurve::resizeWindow()
{
//
QRect rect = this->rect();
int tempWidth = 0;
int tempHight = 0;
for(int i=0; i<ui->tableWidget_2->columnCount(); i++)
{
tempWidth += ui->tableWidget_2->columnWidth(i);
tempWidth += 1;
}
//
for(int j=0; j<ui->tableWidget_2->rowCount(); j++)
{
tempHight += ui->tableWidget_2->rowHeight(j);
tempHight += 1;
}
//预览图
if(g_bPreviewPrint)
{
ui->tableWidget_2->move(0, 2);
//ui->tableWidget_2->setGeometry(0, 2, tempWidth, tempHight);
}
else
{
//调整大小
if(rect.width()>tempWidth)
{
ui->tableWidget_2->move((rect.width()-tempWidth)/2, 2);
//ui->tableWidget_2->setGeometry((rect.width()-tempWidth)/2, 2, tempWidth, tempHight);
}
else
{
ui->tableWidget_2->move(0, 2);
//ui->tableWidget_2->setGeometry(0, 2, tempWidth, tempHight);
}
}
}
//2个滚动条位置
void MainWindowCurve::SetScrollBar_Geometry()
{
@ -394,9 +436,9 @@ void MainWindowCurve::vertScrollBarChanged_Head(int value)
int iHight1=0;
int iHight2=0;
int iHight3=0;
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
@ -406,6 +448,7 @@ void MainWindowCurve::vertScrollBarChanged_Head(int value)
widgetWell->getRowHeight_Well(iHight1, iHight2, iHight3);
//
widgetWell->setRowHeight_Well(iHight1, 100+value, iHight3);
//widgetWell->update();
}
}
}
@ -482,9 +525,9 @@ void MainWindowCurve::vertScrollBarChanged(int iValue)
// continue;
// }
// //
// if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
// if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
// {
// auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
// auto myWidget = ui->tableWidget_2->cellWidget(1, i);
// if(myWidget)
// {
// //
@ -575,7 +618,7 @@ void MainWindowCurve::initMainToolBar()
QIcon SaveAsSvgIcon(::GetImagePath()+"icon/ExportSVG.png");
QIcon doubleHeadIcon(::GetImagePath()+"icon/oneortwohead.png");
QIcon autorollIcon(::GetImagePath()+"icon/autoroll.png");
QIcon blackIcon(::GetImagePath()+"icon/image/black.png");
QIcon blackIcon(::GetImagePath()+"icon/black.png");
QIcon zoominIcon(::GetImagePath()+"icon/zoomin.png");
QIcon zoomoutIcon(::GetImagePath()+"icon/zoomout.png");
@ -594,6 +637,7 @@ void MainWindowCurve::initMainToolBar()
m_executeDepthShiftAc = new QAction(executeDepthShiftIcon, "校深", this);
m_joindepthAc = new QAction(joindepthIcon, "拼接", this);
m_autorollAc = new QAction(autorollIcon, "图像自滚", this);
m_PreviewPrintAc = new QAction(blackIcon, "预览图", this);
m_ModuleOpenAc = new QAction(ModuleOpenIcon, "处理方法", this);
ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //此种方式为文字显示在图标右侧
@ -615,6 +659,7 @@ void MainWindowCurve::initMainToolBar()
ui->mainToolBar->addAction(m_executeDepthShiftAc); //校深
ui->mainToolBar->addAction(m_joindepthAc); //拼接
ui->mainToolBar->addAction(m_autorollAc); //图像自滚
//ui->mainToolBar->addAction(m_PreviewPrintAc); //预览图
ui->mainToolBar->addAction(m_ModuleOpenAc); //处理方法
// 设置为可选中
@ -625,6 +670,7 @@ void MainWindowCurve::initMainToolBar()
m_executeDepthShiftAc->setCheckable(true); //校深
m_joindepthAc->setCheckable(true); //拼接
m_autorollAc->setCheckable(true); //图像自滚
m_PreviewPrintAc->setCheckable(true); //预览图
connect(m_selectWellAc, &QAction::triggered, this, &MainWindowCurve::s_selectWell);
connect(m_fixwellsectionHeaderAc, &QAction::triggered, this, &MainWindowCurve::s_showHeadTable);
@ -642,6 +688,7 @@ void MainWindowCurve::initMainToolBar()
connect(m_executeDepthShiftAc, &QAction::triggered, this, &MainWindowCurve::s_ExecuteDepthShift);
connect(m_joindepthAc, &QAction::triggered, this, &MainWindowCurve::s_ExecuteMerge);
connect(m_autorollAc, &QAction::triggered, this, &MainWindowCurve::s_Autoroll);
connect(m_PreviewPrintAc, &QAction::triggered, this, &MainWindowCurve::s_PreviewPrint);
connect(m_ModuleOpenAc, &QAction::triggered, this, &MainWindowCurve::s_ModuleOpen);
connect(CallManage::getInstance(), SIGNAL(sig_SaveAsPicture()), this, SLOT(s_SaveAsPicture()));
@ -2983,6 +3030,21 @@ void MainWindowCurve::onTimer()
}
}
//预览图
void MainWindowCurve::s_PreviewPrint()
{
//
if(m_PreviewPrintAc->isChecked())
{
g_bPreviewPrint = true;
}
else
{
g_bPreviewPrint = false;
}
resizeWindow();
}
//校深
void MainWindowCurve::s_ExecuteDepthShift()
{
@ -6011,9 +6073,9 @@ void MainWindowCurve::getTableSize_Head_Biggest(int &iHight)
continue;
}
//
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
@ -6128,9 +6190,9 @@ void MainWindowCurve::HideTableHead()
continue;
}
//
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
@ -6164,9 +6226,9 @@ void MainWindowCurve::ShowTableHead()
continue;
}
//
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
@ -6201,9 +6263,9 @@ void MainWindowCurve::ShowTableHead_All()
int iHight1=0;
int iHight2=0;
int iHight3=0;
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//
@ -6239,9 +6301,9 @@ void MainWindowCurve::ShowTableHead_One()
int iHight1=0;
int iHight2=0;
int iHight3=0;
if( ui->tableWidget_2->cellWidget(1, 0) != nullptr )
if( ui->tableWidget_2->cellWidget(1, i) != nullptr )
{
auto myWidget = ui->tableWidget_2->cellWidget(1, 0);
auto myWidget = ui->tableWidget_2->cellWidget(1, i);
if(myWidget)
{
//

View File

@ -110,7 +110,8 @@ public:
//图像自滚定时器
QTimer *m_clockTimer = nullptr;
bool m_bShowTrackHead = true; //显示道头
//预览图
bool g_bPreviewPrint = false;
public:
//黑白图,针对共享内存,使用老版本代码,需要以下定义
//整图放大缩小比例
@ -223,6 +224,8 @@ public slots:
//重新设置滚动条范围
void s_setRangeVScrollBar2(QString strUuid);
//窗口居中处理
void resizeWindow();
public:
QAction* m_selectWellAc = nullptr; //选择井
@ -239,6 +242,7 @@ public:
QAction* m_executeDepthShiftAc = nullptr; //校深
QAction* m_joindepthAc = nullptr; //拼接
QAction* m_autorollAc = nullptr; //图像自滚
QAction* m_PreviewPrintAc = nullptr; //预览图
QAction* m_ModuleOpenAc = nullptr; //处理方法
public slots:
@ -329,6 +333,7 @@ public slots:
void s_ExecuteDepthShift(); //校深
void s_ExecuteMerge(); //拼接
void s_Autoroll(); //图像自滚
void s_PreviewPrint(); //预览图
void s_ModuleOpen(); //处理算法
//
void _slotExport(QPrinter &printer, int IsBmp, QString pngName, QString strTmpName);