添加绘制区域的 qcustomplot 显示区域的 顶部深度与底部深度
优化波形绘制因为分辨率问题引起的绘制不全bug,包括图像
This commit is contained in:
parent
e53cbe241c
commit
96a93d21f7
|
|
@ -17,6 +17,7 @@
|
||||||
#include "DrawTvd.h"
|
#include "DrawTvd.h"
|
||||||
#include "DepthProgress.h"
|
#include "DepthProgress.h"
|
||||||
#include "CallGlobalManage.h"
|
#include "CallGlobalManage.h"
|
||||||
|
#include "mainwindowcurve.h"
|
||||||
// #include "CylinderImagePlot.h"
|
// #include "CylinderImagePlot.h"
|
||||||
|
|
||||||
//以下参数从配置文件读取
|
//以下参数从配置文件读取
|
||||||
|
|
@ -117,6 +118,11 @@ FormDraw::~FormDraw()
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FormDraw::setMainWinCurve(MainWindowCurve* pWin)
|
||||||
|
{
|
||||||
|
m_pMinCurve = pWin;
|
||||||
|
}
|
||||||
|
|
||||||
void FormDraw::s_setDrawData(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QStringList listdt)
|
void FormDraw::s_setDrawData(QString strUuid, QString strSlfName, QString strWellName, QString strTrackName, QStringList listdt)
|
||||||
{
|
{
|
||||||
//井名&道名不一致
|
//井名&道名不一致
|
||||||
|
|
@ -166,7 +172,8 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo)
|
||||||
{
|
{
|
||||||
FormWave *pwave = new FormWave(this, strSlfName, strWellName, m_strTrackName, strLineName);
|
FormWave *pwave = new FormWave(this, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||||
pwave->setDepthY(m_iY1, m_iY2);
|
pwave->setDepthY(m_iY1, m_iY2);
|
||||||
pwave->initGeometry(m_strUuid, m_iScale, dW, m_nObjDrawH);
|
pwave->initGeometry(m_strUuid, m_iScale, dW, m_pMinCurve->m_nObjDrawH);
|
||||||
|
pwave->initBottomDepth(m_pMinCurve->m_dBottomDepth);
|
||||||
pwave->m_formTrack = m_formTrack;
|
pwave->m_formTrack = m_formTrack;
|
||||||
pwave->m_strObjUuid = pInfo->m_strObjUuid;
|
pwave->m_strObjUuid = pInfo->m_strObjUuid;
|
||||||
pwave->show();
|
pwave->show();
|
||||||
|
|
@ -175,7 +182,8 @@ void FormDraw::setDrawData(QStringList listdt, QJsonObject objInfo)
|
||||||
{
|
{
|
||||||
FormImage *pimg = new FormImage(this, strSlfName, strWellName, m_strTrackName, strLineName);
|
FormImage *pimg = new FormImage(this, strSlfName, strWellName, m_strTrackName, strLineName);
|
||||||
pimg->setDepthY(m_iY1, m_iY2);
|
pimg->setDepthY(m_iY1, m_iY2);
|
||||||
pimg->initGeometry(m_strUuid, m_iScale, dW, m_nObjDrawH);
|
pimg->initGeometry(m_strUuid, m_iScale, dW, m_pMinCurve->m_nObjDrawH);
|
||||||
|
pimg->initBottomDepth(m_pMinCurve->m_dBottomDepth);
|
||||||
pimg->m_formTrack = m_formTrack;
|
pimg->m_formTrack = m_formTrack;
|
||||||
pimg->show();
|
pimg->show();
|
||||||
}
|
}
|
||||||
|
|
@ -3644,7 +3652,8 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
|
||||||
FormWave *pwave = new FormWave(this, strSlfName, strWellName, strTrackName, strWaveName);
|
FormWave *pwave = new FormWave(this, strSlfName, strWellName, strTrackName, strWaveName);
|
||||||
pwave->setDepthY(m_iY1, m_iY2);
|
pwave->setDepthY(m_iY1, m_iY2);
|
||||||
strObjUuid = pwave->m_strObjUuid;
|
strObjUuid = pwave->m_strObjUuid;
|
||||||
pwave->initGeometry(m_strUuid, m_iScale, nW, m_nObjDrawH);
|
pwave->initGeometry(m_strUuid, m_iScale, nW, m_pMinCurve->m_nObjDrawH);
|
||||||
|
pwave->initBottomDepth(m_pMinCurve->m_dBottomDepth);
|
||||||
pwave->m_formTrack = m_formTrack;
|
pwave->m_formTrack = m_formTrack;
|
||||||
pwave->show();
|
pwave->show();
|
||||||
//pwave->replot();
|
//pwave->replot();
|
||||||
|
|
@ -4334,7 +4343,7 @@ void FormDraw::s_addDrawImage(QString strUuid, QString strSlfName, QString strWe
|
||||||
{
|
{
|
||||||
FormImage *pImg = new FormImage(this, strSlfName, strWellName, strTrackName, strLineName);
|
FormImage *pImg = new FormImage(this, strSlfName, strWellName, strTrackName, strLineName);
|
||||||
pImg->setDepthY(m_iY1, m_iY2);
|
pImg->setDepthY(m_iY1, m_iY2);
|
||||||
pImg->initGeometry(m_strUuid, m_iScale, nW, m_nObjDrawH);
|
pImg->initGeometry(m_strUuid, m_iScale, nW, m_pMinCurve->m_nObjDrawH);
|
||||||
pImg->m_formTrack = m_formTrack;
|
pImg->m_formTrack = m_formTrack;
|
||||||
pImg->show();
|
pImg->show();
|
||||||
_nSamples = 264;
|
_nSamples = 264;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class FormDraw;
|
class FormDraw;
|
||||||
}
|
}
|
||||||
|
class MainWindowCurve;
|
||||||
class FormDraw : public FormBase
|
class FormDraw : public FormBase
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
@ -28,6 +28,8 @@ public:
|
||||||
explicit FormDraw(QWidget *parent, QString strSlfName, QString m_strWellName="", QString strTrackName="");
|
explicit FormDraw(QWidget *parent, QString strSlfName, QString m_strWellName="", QString strTrackName="");
|
||||||
~FormDraw();
|
~FormDraw();
|
||||||
|
|
||||||
|
void setMainWinCurve(MainWindowCurve* pWin);
|
||||||
|
|
||||||
void setDrawData(QStringList slist, QJsonObject objInfo);
|
void setDrawData(QStringList slist, QJsonObject objInfo);
|
||||||
|
|
||||||
void setDrawPropert(QJsonObject obj);
|
void setDrawPropert(QJsonObject obj);
|
||||||
|
|
@ -119,9 +121,9 @@ public slots:
|
||||||
void setColWidth(float fNewWidth);
|
void setColWidth(float fNewWidth);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
MainWindowCurve* m_pMinCurve = NULL;
|
||||||
QString m_strTrackName;
|
QString m_strTrackName;
|
||||||
double m_nTrackW = 0;
|
double m_nTrackW = 0;
|
||||||
int m_nObjDrawH = 0;
|
|
||||||
|
|
||||||
int m_iScale=200;
|
int m_iScale=200;
|
||||||
double m_iY1=0;
|
double m_iY1=0;
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,12 @@ void FormImage::updateDepthY(float fy1, float fy2)
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FormImage::initBottomDepth(double dep)
|
||||||
|
{
|
||||||
|
m_fDepthLowerY = qAbs(dep);
|
||||||
|
m_fAddY = m_fDepthLowerY - m_fTopY;
|
||||||
|
}
|
||||||
|
|
||||||
bool FormImage::LoadFromSLF_wave()
|
bool FormImage::LoadFromSLF_wave()
|
||||||
{
|
{
|
||||||
CLogIO * logio = new CLogIO();
|
CLogIO * logio = new CLogIO();
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@ public:
|
||||||
void setDepthY(float fy1, float fy2);
|
void setDepthY(float fy1, float fy2);
|
||||||
//改变深度更新绘图
|
//改变深度更新绘图
|
||||||
void updateDepthY(float fy1, float fy2);
|
void updateDepthY(float fy1, float fy2);
|
||||||
|
//初始显示区域底部深度值
|
||||||
|
void initBottomDepth(double dep);
|
||||||
|
|
||||||
bool LoadFromSLF_wave();
|
bool LoadFromSLF_wave();
|
||||||
// 改变色板
|
// 改变色板
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@ void FormWave::setDepthY(float fy1, float fy2)
|
||||||
|
|
||||||
m_PlotSdep = qAbs(this->m_iY2);
|
m_PlotSdep = qAbs(this->m_iY2);
|
||||||
m_fTopY = m_PlotSdep;
|
m_fTopY = m_PlotSdep;
|
||||||
qDebug() << " 111###### m_fTopY " << m_fTopY;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormWave::updateDepthY(float fy1, float fy2)
|
void FormWave::updateDepthY(float fy1, float fy2)
|
||||||
|
|
@ -101,7 +100,12 @@ void FormWave::updateDepthY(float fy1, float fy2)
|
||||||
this->m_iY2 = fy2;
|
this->m_iY2 = fy2;
|
||||||
m_fTopY = qAbs(this->m_iY2);
|
m_fTopY = qAbs(this->m_iY2);
|
||||||
update();
|
update();
|
||||||
qDebug() << " 222###### m_fTopY " << m_fTopY;
|
}
|
||||||
|
|
||||||
|
void FormWave::initBottomDepth(double dep)
|
||||||
|
{
|
||||||
|
m_fDepthLowerY = qAbs(dep);
|
||||||
|
m_fAddY = m_fDepthLowerY - m_fTopY;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FormWave::LoadFromSLF_wave()
|
bool FormWave::LoadFromSLF_wave()
|
||||||
|
|
@ -376,7 +380,6 @@ void FormWave::vertScrollBarChanged(QString strUuid, double value, double low, d
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_fTopY = value;
|
m_fTopY = value;
|
||||||
qDebug() << " 333###### m_fTopY " << m_fTopY;
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -407,7 +410,6 @@ void FormWave::vertScrollBarChanged_setGeometry(QString strUuid, double value, d
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_fTopY = ddepth;
|
m_fTopY = ddepth;
|
||||||
qDebug() << " 444###### m_fTopY " << m_fTopY;
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -497,7 +499,7 @@ void FormWave::DrawWave(QPainter* pdc, QRectF mrt1)
|
||||||
flDepthScale = 1;
|
flDepthScale = 1;
|
||||||
float te00 = 0;
|
float te00 = 0;
|
||||||
|
|
||||||
qDebug() << "FormWave : m_fTopY " << m_fTopY;
|
//qDebug() << "FormWave : m_fTopY " << m_fTopY;
|
||||||
// 计算显示深度
|
// 计算显示深度
|
||||||
float sdepc = m_fTopY, edepc = m_fTopY + m_fAddY;
|
float sdepc = m_fTopY, edepc = m_fTopY + m_fAddY;
|
||||||
QRectF rt;// = mrt1;
|
QRectF rt;// = mrt1;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@ public:
|
||||||
void setDepthY(float fy1, float fy2);
|
void setDepthY(float fy1, float fy2);
|
||||||
//改变深度更新绘图
|
//改变深度更新绘图
|
||||||
void updateDepthY(float fy1, float fy2);
|
void updateDepthY(float fy1, float fy2);
|
||||||
|
//初始显示区域底部深度值
|
||||||
|
void initBottomDepth(double dep);
|
||||||
|
|
||||||
bool LoadFromSLF_wave();
|
bool LoadFromSLF_wave();
|
||||||
bool SaveToSLF_LogMud();
|
bool SaveToSLF_LogMud();
|
||||||
|
|
@ -91,7 +93,7 @@ public:
|
||||||
int PickFlag = 0;
|
int PickFlag = 0;
|
||||||
float m_fTopY = 0.0f;
|
float m_fTopY = 0.0f;
|
||||||
float m_fDepthLowerY = 0.0f;
|
float m_fDepthLowerY = 0.0f;
|
||||||
float m_fAddY = 29.0f;
|
float m_fAddY = 19.0f;
|
||||||
|
|
||||||
int schemIndex = 1;
|
int schemIndex = 1;
|
||||||
int colornum = 256;
|
int colornum = 256;
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,8 @@ FormWell::FormWell(QWidget *parent, QString strWellName) :
|
||||||
ui(new Ui::FormWell)
|
ui(new Ui::FormWell)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
m_parent = parent;
|
|
||||||
|
m_pMainWinCurve = (MainWindowCurve *)parent;
|
||||||
m_strWellName = strWellName;
|
m_strWellName = strWellName;
|
||||||
|
|
||||||
m_cuProperty.m_nInv = 10;
|
m_cuProperty.m_nInv = 10;
|
||||||
|
|
@ -296,6 +297,7 @@ QVector<QWidget *> FormWell::new_track(QStringList listdt, QString strTrackName)
|
||||||
|
|
||||||
//曲线绘制栏
|
//曲线绘制栏
|
||||||
FormDraw *formDraw = new FormDraw(this, strSlfName, strWellName, strTrackName);
|
FormDraw *formDraw = new FormDraw(this, strSlfName, strWellName, strTrackName);
|
||||||
|
formDraw->setMainWinCurve(m_pMainWinCurve);
|
||||||
formDraw->setBorderFlags(BorderFlags(BottomBorder | RightBorder));
|
formDraw->setBorderFlags(BorderFlags(BottomBorder | RightBorder));
|
||||||
vec << formDraw;
|
vec << formDraw;
|
||||||
//
|
//
|
||||||
|
|
@ -309,7 +311,6 @@ QVector<QWidget *> FormWell::new_track(QStringList listdt, QString strTrackName)
|
||||||
formDraw->m_formTrack = formTrack;
|
formDraw->m_formTrack = formTrack;
|
||||||
formDraw->m_iScale = m_iScale;
|
formDraw->m_iScale = m_iScale;
|
||||||
formDraw->m_nTrackW = dW;
|
formDraw->m_nTrackW = dW;
|
||||||
formDraw->m_nObjDrawH = m_nObjDrawH;
|
|
||||||
//多井的打开工程,使用模板的井名和slf名
|
//多井的打开工程,使用模板的井名和slf名
|
||||||
formDraw->m_bMultiProject = m_bMultiProject;
|
formDraw->m_bMultiProject = m_bMultiProject;
|
||||||
|
|
||||||
|
|
@ -772,8 +773,7 @@ void FormWell::setWellProperty(QVariantList listVal)
|
||||||
ui->tableWidget->hideRow(0);
|
ui->tableWidget->hideRow(0);
|
||||||
ui->tableWidget->update();
|
ui->tableWidget->update();
|
||||||
}
|
}
|
||||||
MainWindowCurve *parent = (MainWindowCurve *)m_parent;
|
m_pMainWinCurve->SetScrollBar_Geometry();
|
||||||
parent->SetScrollBar_Geometry();
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1094,10 +1094,7 @@ void FormWell::resizeWindow()
|
||||||
ui->tableWidget->setGeometry(0, 2, tempWidth, tempHight);
|
ui->tableWidget->setGeometry(0, 2, tempWidth, tempHight);
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_parent = parent;
|
m_pMainWinCurve->resizeItem(m_strWellName, tempWidth, tempHight);
|
||||||
|
|
||||||
MainWindowCurve *parent = (MainWindowCurve *)m_parent;
|
|
||||||
parent->resizeItem(m_strWellName, tempWidth, tempHight);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取头2行的宽高,方便输出图
|
//获取头2行的宽高,方便输出图
|
||||||
|
|
@ -1356,9 +1353,8 @@ void FormWell::onSectionResized(int logicalIndex, int oldSize, int newSize)
|
||||||
{
|
{
|
||||||
if(newSize!=0)
|
if(newSize!=0)
|
||||||
{
|
{
|
||||||
MainWindowCurve *parent = (MainWindowCurve *)m_parent;
|
m_pMainWinCurve->SetScrollBar_Geometry();
|
||||||
parent->SetScrollBar_Geometry();
|
m_pMainWinCurve->vertScrollBarChanged_Head(0);
|
||||||
parent->vertScrollBarChanged_Head(0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ namespace Ui {
|
||||||
class FormWell;
|
class FormWell;
|
||||||
}
|
}
|
||||||
class WellHeader;
|
class WellHeader;
|
||||||
|
class MainWindowCurve;
|
||||||
class FormWell : public QWidget
|
class FormWell : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
@ -64,7 +65,7 @@ public:
|
||||||
int m_iScale=200;
|
int m_iScale=200;
|
||||||
double m_iY1=0;
|
double m_iY1=0;
|
||||||
double m_iY2=0;
|
double m_iY2=0;
|
||||||
QWidget *m_parent;
|
MainWindowCurve *m_pMainWinCurve = NULL;
|
||||||
bool m_bShowTrackHead = true; //显示道头
|
bool m_bShowTrackHead = true; //显示道头
|
||||||
bool m_bMultiProject = false; //多井的打开工程,使用模板的井名和slf名
|
bool m_bMultiProject = false; //多井的打开工程,使用模板的井名和slf名
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -451,50 +451,17 @@ MainWindowCurve::~MainWindowCurve()
|
||||||
|
|
||||||
void MainWindowCurve::resizeEvent(QResizeEvent *event)
|
void MainWindowCurve::resizeEvent(QResizeEvent *event)
|
||||||
{
|
{
|
||||||
int nhei = 0;
|
|
||||||
Qt::ToolBarArea area = this->toolBarArea(ui->mainToolBar);
|
|
||||||
if (area == Qt::BottomToolBarArea || area == Qt::TopToolBarArea)
|
|
||||||
{
|
|
||||||
nhei = ui->mainToolBar->height();
|
|
||||||
if (ui->centralwidget->layout())
|
|
||||||
{
|
|
||||||
int left, top, right, bottom;
|
|
||||||
ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom);
|
|
||||||
nhei += top;
|
|
||||||
nhei += bottom;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
QSize sz = event->size();
|
|
||||||
m_nObjDrawH = sz.height() - nhei - m_nObjLayerH - 100 - 100;
|
|
||||||
// nhei mainToolBar的高度 m_nObjLyrH,对象单元格高度 100头高度,100井头高度
|
|
||||||
int che = ui->centralwidget->height();
|
int che = ui->centralwidget->height();
|
||||||
emit CallManage::getInstance()->sig_ResizeHeight(m_strUuid, che);
|
m_dBottomDepth = this->getVisibleBottomDepth();
|
||||||
|
emit CallManage::getInstance()->sig_ResizeDepth(m_strUuid, m_nObjDrawH, m_dBottomDepth);
|
||||||
|
|
||||||
emit sig_resizeWindow();
|
emit sig_resizeWindow();
|
||||||
|
|
||||||
//2个滚动条位置
|
//2个滚动条位置
|
||||||
SetScrollBar_Geometry();
|
SetScrollBar_Geometry();
|
||||||
QRect rect2 = ui->centralwidget->geometry();
|
|
||||||
int left, top, right, bottom;
|
|
||||||
if (ui->centralwidget->layout())
|
|
||||||
{
|
|
||||||
ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom);
|
|
||||||
}
|
|
||||||
//获取井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;
|
|
||||||
//可视区域高度
|
//可视区域高度
|
||||||
int iScreenHeight = 0;
|
int iScreenHeight = this->getScreenHeight();
|
||||||
//锁头
|
|
||||||
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;
|
int iHScrollBarHeight = 0;
|
||||||
if(!ui->tableWidget_2->horizontalScrollBar()->isVisible())
|
if(!ui->tableWidget_2->horizontalScrollBar()->isVisible())
|
||||||
|
|
@ -728,9 +695,57 @@ void MainWindowCurve::vertScrollBarChanged(int iValue)
|
||||||
//通知界面重设范围(三图一表)
|
//通知界面重设范围(三图一表)
|
||||||
emit CallManage::getInstance()->sig_vertScrollBarChanged_santuyibiao(m_strUuid, value, -m_iY1, -m_iY2);
|
emit CallManage::getInstance()->sig_vertScrollBarChanged_santuyibiao(m_strUuid, value, -m_iY1, -m_iY2);
|
||||||
|
|
||||||
|
double dv = getVisibleBottomDepth();
|
||||||
|
qDebug() << "dv " << dv;
|
||||||
//AppendConsole(PAI_INFO, "鼠标滚动结束");
|
//AppendConsole(PAI_INFO, "鼠标滚动结束");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取 centralwidget 可视区域顶部深度(米)
|
||||||
|
// 原理:滚动条值 value = -(当前顶部深度), 即 topDepth = -value
|
||||||
|
double MainWindowCurve::getVisibleTopDepth() const
|
||||||
|
{
|
||||||
|
double value = (double)ui->verticalScrollBar->value() / 100.0;
|
||||||
|
return -value; // 顶部深度(浅端,较小值)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取 centralwidget 可视区域底部深度(米)
|
||||||
|
// 原理:bottomDepth = topDepth + 可视高度(深度单位)
|
||||||
|
double MainWindowCurve::getVisibleBottomDepth()
|
||||||
|
{
|
||||||
|
double value = (double)ui->verticalScrollBar->value() / 100.0;
|
||||||
|
double topDepth = -value;
|
||||||
|
|
||||||
|
int iScreenHeight = getScreenHeight();
|
||||||
|
// iScreenHeight 单位是 0.01m,除以100转为米
|
||||||
|
double visibleDepthRange = (double)iScreenHeight / 100.0;
|
||||||
|
return topDepth - visibleDepthRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
int MainWindowCurve::getScreenHeight()
|
||||||
|
{
|
||||||
|
// 计算可视区域对应的深度范围(与 vertScrollBarChanged 保持一致)
|
||||||
|
QRect rect2 = ui->centralwidget->geometry();
|
||||||
|
int left = 0, top = 0, right = 0, bottom = 0;
|
||||||
|
if (ui->centralwidget->layout())
|
||||||
|
ui->centralwidget->layout()->getContentsMargins(&left, &top, &right, &bottom);
|
||||||
|
|
||||||
|
|
||||||
|
int iScreenHeight = 0;
|
||||||
|
if (m_fixwellsectionHeaderAc->isChecked())
|
||||||
|
{
|
||||||
|
int iTableSize_Head = 100 + m_nObjLayerH;
|
||||||
|
int iTableWellTrack_height = ui->tableWidget_2->rowHeight(0) + 5 + iTableSize_Head - 1;
|
||||||
|
m_nObjDrawH = rect2.height() - 10 - top - bottom - iTableWellTrack_height;
|
||||||
|
iScreenHeight = (double)(m_nObjDrawH) / g_dPixelPerCm * m_iScale;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_nObjDrawH = rect2.height() - 10 - top - bottom - 4;
|
||||||
|
iScreenHeight = (double)(m_nObjDrawH) / g_dPixelPerCm * m_iScale;
|
||||||
|
}
|
||||||
|
return iScreenHeight;
|
||||||
|
}
|
||||||
|
|
||||||
//初始化工具栏
|
//初始化工具栏
|
||||||
void MainWindowCurve::initMainToolBar()
|
void MainWindowCurve::initMainToolBar()
|
||||||
{
|
{
|
||||||
|
|
@ -4763,7 +4778,7 @@ void MainWindowCurve::s_NewWell(QString strWellName, QString strSlfName, bool bS
|
||||||
//此处还没有生成well,所以不能这样获取
|
//此处还没有生成well,所以不能这样获取
|
||||||
//getTableSize_Head(iTableSize_Head);
|
//getTableSize_Head(iTableSize_Head);
|
||||||
//
|
//
|
||||||
ui->tableWidget_2->setRowHeight(i, (int)iHeightOfScreen+iTableSize_Head+(3+1)+10);
|
ui->tableWidget_2->setRowHeight(i, (int)iHeightOfScreen+iTableSize_Head+(3+1)+10-400);
|
||||||
//
|
//
|
||||||
FormWell *widgetWell = new FormWell(this, strWellName);
|
FormWell *widgetWell = new FormWell(this, strWellName);
|
||||||
widgetWell->setBorderFlags(BorderFlags(BottomBorder | LeftBorder | RightBorder));
|
widgetWell->setBorderFlags(BorderFlags(BottomBorder | LeftBorder | RightBorder));
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,11 @@ public:
|
||||||
void getTableSize_Head(int &iHight);
|
void getTableSize_Head(int &iHight);
|
||||||
void getTableSize_Head_Biggest(int &iHight, int &iHight1, int &iHight2);//展开FormIndo后,获取真正的高度最大值
|
void getTableSize_Head_Biggest(int &iHight, int &iHight1, int &iHight2);//展开FormIndo后,获取真正的高度最大值
|
||||||
void setTableSize_Well();
|
void setTableSize_Well();
|
||||||
|
// 获取 centralwidget 可视区域顶部/底部深度(米)
|
||||||
|
double getVisibleTopDepth() const;
|
||||||
|
double getVisibleBottomDepth();
|
||||||
|
// 获取绘图区域显示厘米
|
||||||
|
int getScreenHeight();
|
||||||
//隐藏道头/对象头
|
//隐藏道头/对象头
|
||||||
void HideTableHead();
|
void HideTableHead();
|
||||||
void ShowTableHead();
|
void ShowTableHead();
|
||||||
|
|
@ -109,6 +114,7 @@ public:
|
||||||
QLineEdit *spinbox2;
|
QLineEdit *spinbox2;
|
||||||
QLineEdit *spinbox3;
|
QLineEdit *spinbox3;
|
||||||
|
|
||||||
|
double m_dBottomDepth = 0.0; // 绘制区域底部深度
|
||||||
int m_nObjDrawH = 0; // 绘制层高度
|
int m_nObjDrawH = 0; // 绘制层高度
|
||||||
int m_nObjLayerH = 104; // 对象层高度
|
int m_nObjLayerH = 104; // 对象层高度
|
||||||
int m_iScale=200;
|
int m_iScale=200;
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_vertScrollBarChanged(QString, double, double, double)), this, SLOT(vertScrollBarChanged(QString, double, double, double)));
|
connect(CallManage::getInstance(), SIGNAL(sig_vertScrollBarChanged(QString, double, double, double)), this, SLOT(vertScrollBarChanged(QString, double, double, double)));
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_vertScrollBarChanged_setGeometry(QString, double, double, double, double)), this, SLOT(vertScrollBarChanged_setGeometry(QString, double, double, double, double)));
|
connect(CallManage::getInstance(), SIGNAL(sig_vertScrollBarChanged_setGeometry(QString, double, double, double, double)), this, SLOT(vertScrollBarChanged_setGeometry(QString, double, double, double, double)));
|
||||||
|
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_ResizeHeight(QString, int)), this, SLOT(s_ResizeHeight(QString, int)));
|
//connect(CallManage::getInstance(), SIGNAL(sig_ResizeHeight(QString, int)), this, SLOT(s_ResizeHeight(QString, int)));
|
||||||
|
|
||||||
//曲线选中,置顶
|
//曲线选中,置顶
|
||||||
connect(CallManage::getInstance(), SIGNAL(sig_Raise(QString, QString, QString, QString, QString, int, QString)), this, SLOT(s_Raise(QString, QString, QString, QString, QString, int, QString)));
|
connect(CallManage::getInstance(), SIGNAL(sig_Raise(QString, QString, QString, QString, QString, int, QString)), this, SLOT(s_Raise(QString, QString, QString, QString, QString, int, QString)));
|
||||||
|
|
@ -12326,18 +12326,18 @@ float QMyCustomPlot::visibleBottomDepth() const
|
||||||
return (float)yAxis->pixelToCoord(pixBottom);
|
return (float)yAxis->pixelToCoord(pixBottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMyCustomPlot::s_ResizeHeight(QString strUuid, int nPixVal)
|
//void QMyCustomPlot::s_ResizeHeight(QString strUuid, int nPixVal)
|
||||||
{
|
//{
|
||||||
if (m_strUuid == strUuid)
|
// if (m_strUuid == strUuid)
|
||||||
{
|
// {
|
||||||
if (m_bX2Y)
|
// if (m_bX2Y)
|
||||||
m_fBottomY = xAxis->pixelToCoord(nPixVal);
|
// m_fBottomY = xAxis->pixelToCoord(nPixVal);
|
||||||
else
|
// else
|
||||||
m_fBottomY = yAxis->pixelToCoord(nPixVal);
|
// m_fBottomY = yAxis->pixelToCoord(nPixVal);
|
||||||
|
//
|
||||||
emit CallManage::getInstance()->sig_ResizeDepth(m_strUuid, nPixVal, m_fBottomY);
|
// emit CallManage::getInstance()->sig_ResizeDepth(m_strUuid, nPixVal, m_fBottomY);
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
//自定义滚动条
|
//自定义滚动条
|
||||||
void QMyCustomPlot::vertScrollBarChanged(QString strUuid, double value, double low, double upper)
|
void QMyCustomPlot::vertScrollBarChanged(QString strUuid, double value, double low, double upper)
|
||||||
|
|
|
||||||
|
|
@ -398,7 +398,7 @@ public slots:
|
||||||
void vertScrollBarChanged(QString strUuid, double value, double low, double upper);
|
void vertScrollBarChanged(QString strUuid, double value, double low, double upper);
|
||||||
void vertScrollBarChanged_setGeometry(QString strUuid, double value, double low, double upper, double ddepth);
|
void vertScrollBarChanged_setGeometry(QString strUuid, double value, double low, double upper, double ddepth);
|
||||||
|
|
||||||
void s_ResizeHeight(QString strUuid, int nPixVal);
|
//void s_ResizeHeight(QString strUuid, int nPixVal);
|
||||||
//信号槽刷新
|
//信号槽刷新
|
||||||
void slot_replot();
|
void slot_replot();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user