手动改变道头高度,重新设置2个滚动条位置
This commit is contained in:
parent
e53cbe241c
commit
7368b3d2c8
|
|
@ -1357,8 +1357,9 @@ void FormWell::onSectionResized(int logicalIndex, int oldSize, int newSize)
|
||||||
if(newSize!=0)
|
if(newSize!=0)
|
||||||
{
|
{
|
||||||
MainWindowCurve *parent = (MainWindowCurve *)m_parent;
|
MainWindowCurve *parent = (MainWindowCurve *)m_parent;
|
||||||
parent->SetScrollBar_Geometry();
|
//
|
||||||
parent->vertScrollBarChanged_Head(0);
|
parent->SetScrollBar_Geometry_ByHand();
|
||||||
|
//parent->vertScrollBarChanged_Head(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -355,6 +355,85 @@ void MainWindowCurve::resizeWindow()
|
||||||
//update();
|
//update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//手动设置2个滚动条位置
|
||||||
|
void MainWindowCurve::SetScrollBar_Geometry_ByHand()
|
||||||
|
{
|
||||||
|
QRect rect2 = ui->centralwidget->geometry();
|
||||||
|
int left, top, right, bottom;
|
||||||
|
if (ui->centralwidget->layout())
|
||||||
|
{
|
||||||
|
ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom);
|
||||||
|
}
|
||||||
|
//可视区域高度
|
||||||
|
int iScreenHeight = rect2.height()- top -bottom;
|
||||||
|
|
||||||
|
//锁头
|
||||||
|
if(m_fixwellsectionHeaderAc->isChecked())
|
||||||
|
{
|
||||||
|
//获取井well前2行的高度
|
||||||
|
//int iTableSize_Head = 100 + m_nObjLayerH;
|
||||||
|
int iTableSize_Head = 0;
|
||||||
|
getTableSize_Head(iTableSize_Head);
|
||||||
|
int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + (5) + iTableSize_Head -1;
|
||||||
|
|
||||||
|
QRect geoRect2 = ui->verticalScrollBar_2->geometry();
|
||||||
|
ui->verticalScrollBar_2->setGeometry(geoRect2.x(), geoRect2.y(), geoRect2.width(), iTableWellTrack_height);
|
||||||
|
//
|
||||||
|
QRect geoRect = ui->verticalScrollBar->geometry();
|
||||||
|
ui->verticalScrollBar->setGeometry(geoRect.x(), geoRect2.y()+iTableWellTrack_height+2, geoRect.width(), iScreenHeight-iTableWellTrack_height-2);
|
||||||
|
|
||||||
|
//自定义滚动条(头)
|
||||||
|
int iTableSize_Head_Biggest = 0;
|
||||||
|
int iTableSize_Head1 = 0;
|
||||||
|
int iTableSize_Head2 = 0;
|
||||||
|
getTableSize_Head_Biggest(iTableSize_Head_Biggest, iTableSize_Head1, iTableSize_Head2);
|
||||||
|
m_iTableSize_Head2 = iTableSize_Head2;
|
||||||
|
m_nObjLayerH = m_iTableSize_Head2;
|
||||||
|
|
||||||
|
ui->verticalScrollBar_2->setRange(0, iTableSize_Head_Biggest - iTableSize_Head);
|
||||||
|
ui->verticalScrollBar_2->setValue(0);
|
||||||
|
|
||||||
|
//重置滚动条范围值setRange---------------------
|
||||||
|
//可视区域高度
|
||||||
|
iScreenHeight = 0;
|
||||||
|
//锁头
|
||||||
|
if(m_fixwellsectionHeaderAc->isChecked())
|
||||||
|
{
|
||||||
|
iScreenHeight = (double)(rect2.height()-10- top -bottom - iTableWellTrack_height)/g_dPixelPerCm * m_iScale;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
iScreenHeight = (double)(rect2.height()-10- top -bottom - 4)/g_dPixelPerCm * m_iScale;
|
||||||
|
}
|
||||||
|
//下方滚动条高度
|
||||||
|
int iHScrollBarHeight = 0;
|
||||||
|
if(!ui->tableWidget_2->horizontalScrollBar()->isVisible())
|
||||||
|
{
|
||||||
|
iHScrollBarHeight = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iHScrollBarHeight = ui->tableWidget_2->horizontalScrollBar()->height()/g_dPixelPerCm * m_iScale;
|
||||||
|
}
|
||||||
|
ui->verticalScrollBar->setRange(-m_iY2*100, -m_iY1*100 - iScreenHeight + iHScrollBarHeight);
|
||||||
|
ui->verticalScrollBar->setValue(-m_iY2*100);
|
||||||
|
|
||||||
|
//道头部滚动条归0
|
||||||
|
vertScrollBarChanged_Head(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->verticalScrollBar_2->setValue(0);
|
||||||
|
|
||||||
|
//替换为高度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(), iScreenHeight);
|
||||||
|
//ui->verticalScrollBar->setGeometry(geoRect.x(), geoRect2.y(), geoRect.width(), geoRect.height()+geoRect2.height());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//2个滚动条位置
|
//2个滚动条位置
|
||||||
void MainWindowCurve::SetScrollBar_Geometry()
|
void MainWindowCurve::SetScrollBar_Geometry()
|
||||||
{
|
{
|
||||||
|
|
@ -3755,6 +3834,8 @@ void MainWindowCurve::_slotExport(QPrinter &printer, int IsBmp, QString pngName,
|
||||||
m_PreviewPrintAc->setChecked(true);
|
m_PreviewPrintAc->setChecked(true);
|
||||||
//切换回锁头模式
|
//切换回锁头模式
|
||||||
m_fixwellsectionHeaderAc->setChecked(true);
|
m_fixwellsectionHeaderAc->setChecked(true);
|
||||||
|
//锁头
|
||||||
|
s_showHeadTable();
|
||||||
|
|
||||||
//全部显示道头,方便抓拍道头
|
//全部显示道头,方便抓拍道头
|
||||||
ShowTableHead_All();
|
ShowTableHead_All();
|
||||||
|
|
@ -4477,6 +4558,7 @@ void MainWindowCurve::s_showHeadTable()
|
||||||
{
|
{
|
||||||
//恢复原始数据,不然容易造成道头过大
|
//恢复原始数据,不然容易造成道头过大
|
||||||
m_iTableSize_Head2 = 104;
|
m_iTableSize_Head2 = 104;
|
||||||
|
m_nObjLayerH = m_iTableSize_Head2;
|
||||||
|
|
||||||
//显示道头/对象头
|
//显示道头/对象头
|
||||||
ShowTableHead();
|
ShowTableHead();
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,8 @@ public:
|
||||||
void SetNo();
|
void SetNo();
|
||||||
//2个滚动条位置
|
//2个滚动条位置
|
||||||
void SetScrollBar_Geometry();
|
void SetScrollBar_Geometry();
|
||||||
|
//手动设置2个滚动条位置
|
||||||
|
void SetScrollBar_Geometry_ByHand();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//展示所有井
|
//展示所有井
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user