刻度隐藏/显示可配置,追加蝌蚪图的信息栏,高度额外增加刻度高

This commit is contained in:
jiayulong 2025-11-26 16:56:00 +08:00
parent 4f144b1f1e
commit 161a09eb05
10 changed files with 145 additions and 23 deletions

View File

@ -26,6 +26,9 @@
#include "qcustomplot.h" #include "qcustomplot.h"
#include "smoothcurve.h" #include "smoothcurve.h"
//是否隐藏刻度
extern int g_iShow;
/* including file 'src/vector2d.cpp' */ /* including file 'src/vector2d.cpp' */
/* modified 2021-03-29T02:30:44, size 7973 */ /* modified 2021-03-29T02:30:44, size 7973 */
@ -3269,10 +3272,18 @@ void QCPLayoutElement::setOuterRect(const QRect &rect)
void QCPLayoutElement::setMargins(const QMargins &margins) void QCPLayoutElement::setMargins(const QMargins &margins)
{ {
//jyl //jyl
// if (mMargins != margins) { if(g_iShow==1)
// mMargins = margins; {
// mRect = mOuterRect.adjusted(mMargins.left(), mMargins.top(), -mMargins.right(), -mMargins.bottom()); if (mMargins != margins) {
// } mMargins = margins;
mRect = mOuterRect.adjusted(mMargins.left(), mMargins.top(), -mMargins.right(), -mMargins.bottom());
}
}
else
{
//隐藏刻度
}
} }
/*! /*!
@ -3287,9 +3298,16 @@ void QCPLayoutElement::setMargins(const QMargins &margins)
void QCPLayoutElement::setMinimumMargins(const QMargins &margins) void QCPLayoutElement::setMinimumMargins(const QMargins &margins)
{ {
//jyl //jyl
// if (mMinimumMargins != margins) { if(g_iShow==1)
// mMinimumMargins = margins; {
// } if (mMinimumMargins != margins) {
mMinimumMargins = margins;
}
}
else
{
//隐藏刻度
}
} }
/*! /*!
@ -14216,6 +14234,12 @@ void QCustomPlot::setOpenGl(bool enabled, int multisampling)
#endif #endif
} }
//jyl 隐藏刻度
void QCustomPlot::setShowScale(int iShow)
{
g_iShow = iShow;
}
/*! /*!
Sets the viewport of this QCustomPlot. Usually users of QCustomPlot don't need to change the Sets the viewport of this QCustomPlot. Usually users of QCustomPlot don't need to change the
viewport manually. viewport manually.

View File

@ -4277,6 +4277,9 @@ public:
return mOpenGl; return mOpenGl;
} }
//jyl 隐藏刻度
void setShowScale(int iShow);
// setters: // setters:
void setViewport(const QRect &rect); void setViewport(const QRect &rect);
void setBufferDevicePixelRatio(double ratio); void setBufferDevicePixelRatio(double ratio);

View File

@ -19,7 +19,7 @@ extern int g_iPointNum; // number of points in graph
extern int g_iLineNum; // number of Line extern int g_iLineNum; // number of Line
extern int g_iWidth; //道宽 extern int g_iWidth; //道宽
extern int g_iShow; //显示刻度
// //
extern int g_iX1; extern int g_iX1;
extern int g_iX2; extern int g_iX2;
@ -116,8 +116,12 @@ void FormDraw::s_addLine(QString strUuid, QString strSlfName, QString strWellNam
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
qDebug() << "FormDraw dHight=" << QString::number((int)dHight-3184); {
//显示刻度
dHight = dHight+30;
}
qDebug() << "FormDraw dHight=" << QString::number((int)dHight);
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;
@ -173,8 +177,13 @@ AppendConsole(PAI_INFO, "FormDraw s_AddLine_Property");
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
qDebug() << "FormDraw dHight=" << QString::number((int)dHight-3184); qDebug() << "FormDraw dHight=" << QString::number((int)dHight);
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;
@ -230,8 +239,13 @@ void FormDraw::s_addWave(QString strUuid, QString strSlfName, QString strWellNam
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
qDebug() << "FormDraw dHight=" << QString::number((int)dHight-3184); qDebug() << "FormDraw dHight=" << QString::number((int)dHight);
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;
@ -284,8 +298,13 @@ void FormDraw::s_addTableLine(QString strUuid, QString strSlfName, QString strWe
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
qDebug() << "FormDraw dHight=" << QString::number((int)dHight-3184); qDebug() << "FormDraw dHight=" << QString::number((int)dHight);
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;
@ -1244,6 +1263,15 @@ void FormDraw::initTableLine(QMyCustomPlot *widget, QString strSlfName, QString
widget->yAxis = xAxis; widget->yAxis = xAxis;
// //
DrawTabDip(widget); DrawTabDip(widget);
QString strAliasName = "";
QString strUnit = "";
QColor newlineColor=QColor(0,0,0);
double width=2;
QString strScaleType = "";
//道-对象
m_formTrack->Add(strSlfName, m_strWellName, m_strTrackName, strLineName, strAliasName, strUnit, newlineColor, width, vmax, vmin, strScaleType, "tableObject");
} }
void FormDraw::CalcDipWidth(int nColumn,float *flWidth,float factor,int x1,int x2,float flHoriRatio) void FormDraw::CalcDipWidth(int nColumn,float *flWidth,float factor,int x1,int x2,float flHoriRatio)
@ -1285,12 +1313,18 @@ void FormDraw::DrawTabDip(QMyCustomPlot *widget)
dgtord=3.14159265/180.; dgtord=3.14159265/180.;
// //
m_nCircleWidth = 1; m_nCircleWidth = 1;
m_nTailWidth = 1; m_nRadius = 6;
m_nRadius = 4;
m_crCircle = QColor(0,0,0); m_crCircle = QColor(0,0,0);
//
m_nTailWidth = 2;
m_nTailLen = 10;
m_crTail = QColor(0,0,0); m_crTail = QColor(0,0,0);
CalcDipWidth(9,flWidth, 1.2, 0, g_iOneWidth, 1.); int iMyWidth = widget->axisRect(0)->width(); //setSizeConstraintRect()
int iMyHeight = widget->axisRect(0)->height(); //setSizeConstraintRect()
qDebug() << "iMyWidth=" << QString::number(iMyWidth) << ", iMyHeight=" << QString::number(iMyHeight);
CalcDipWidth(9,flWidth, 1.2, 0, iMyWidth, 1.);
n = m_FracDefList.count(); n = m_FracDefList.count();
for (i=0; i<nPointNum; i++) for (i=0; i<nPointNum; i++)
@ -1356,18 +1390,23 @@ void FormDraw::DrawTabDip(QMyCustomPlot *widget)
qcpItemEllipse->m_nRadius = m_nRadius; qcpItemEllipse->m_nRadius = m_nRadius;
qcpItemEllipse->topLeft->setCoords(y, x);//圆心位置 qcpItemEllipse->topLeft->setCoords(y, x);//圆心位置
qcpItemEllipse->bottomRight->setCoords(y, x);//圆心位置 qcpItemEllipse->bottomRight->setCoords(y, x);//圆心位置
//qcpItemEllipse->setBrush(cBrush);//填充圆的颜色 qcpItemEllipse->setBrush(cBrush);//填充圆的颜色
//方位 //方位
dr=frac.DIR *dgtord; dr=frac.DIR *dgtord;
// QCPItemStraightLine *qcpItemLine = new QCPItemStraightLine(widget);
// qcpItemLine->point1->setCoords(y, x);//圆心位置
// qcpItemLine->point2->setCoords(y, x);//圆心位置
QCPItemLine *qcpItemLine = new QCPItemLine(widget); QCPItemLine *qcpItemLine = new QCPItemLine(widget);
qcpItemLine->start->setCoords(y, x);//圆心位置
qcpItemLine->end->setCoords(y, x);//圆心位置
qcpItemLine->setPen(pPenTail); qcpItemLine->setPen(pPenTail);
qcpItemLine->m_bCustom = true; qcpItemLine->m_bCustom = true;
qcpItemLine->m_nTailLen = m_nTailLen; //尾长 qcpItemLine->m_nTailLen = m_nTailLen; //尾长
qcpItemLine->m_nRadius = m_nRadius; //半径 qcpItemLine->m_nRadius = m_nRadius; //半径
qcpItemLine->m_dr = dr; qcpItemLine->m_dr = dr;
qcpItemLine->start->setCoords(y, x);//圆心位置
qcpItemLine->end->setCoords(y, x);//圆心位置
//break; //break;

View File

@ -48,6 +48,10 @@ FormTrack::FormTrack(QWidget *parent, QString strWellName, QString strTrackName)
connect(this, SIGNAL(sig_AddWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)), connect(this, SIGNAL(sig_AddWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)),
this, SLOT(s_addWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString))); this, SLOT(s_addWave(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)));
//波列
connect(this, SIGNAL(sig_AddTableLine(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)),
this, SLOT(s_AddTableLine(QString, QString, QString, QString, QString, QString, QColor, double, float, float, QString)));
//曲线选中,置顶 //曲线选中,置顶
connect(CallManage::getInstance(), SIGNAL(sig_Raise(QString, QString, QString, QString, QString)), this, SLOT(s_Raise(QString, QString, QString, QString, QString))); connect(CallManage::getInstance(), SIGNAL(sig_Raise(QString, QString, QString, QString, QString)), this, SLOT(s_Raise(QString, QString, QString, QString, QString)));
@ -181,7 +185,7 @@ void FormTrack::s_addWave(QString strSlfName, QString strWellName, QString strTr
void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType) void FormTrack::s_AddTableLine(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString strAliasName, QString strUnit, QColor lineColor, double dWidth, float vmax, float vmin, QString strScaleType)
{ {
qDebug() << "FormTrack s_addWave"; qDebug() << "FormTrack s_AddTableLine";
ui->tableWidget->m_strUuid = m_strUuid; ui->tableWidget->m_strUuid = m_strUuid;
int row = ui->tableWidget->rowCount(); int row = ui->tableWidget->rowCount();

View File

@ -7,7 +7,7 @@ extern int g_iY1;
extern int g_iY2; extern int g_iY2;
extern double g_dPixelPerCm;//每厘米像素数 extern double g_dPixelPerCm;//每厘米像素数
extern int g_iScale; extern int g_iScale;
extern int g_iShow; //显示刻度
//井+道名 //井+道名
FormWell::FormWell(QWidget *parent, QString strWellName) : FormWell::FormWell(QWidget *parent, QString strWellName) :
QWidget(parent), QWidget(parent),
@ -100,6 +100,11 @@ void FormWell::s_NewTrack(QString strUuid, QString strWellName, QString strSlfNa
{ {
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;
@ -192,6 +197,11 @@ void FormWell::s_NewTrack_No_Line(QString strUuid, QString strWellName, QString
{ {
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;

View File

@ -42,6 +42,9 @@ int g_iCanZoom = 0;
int g_iScale = 200;//2500 int g_iScale = 200;//2500
QString g_prjname=""; QString g_prjname="";
//是否隐藏刻度
int g_iShow = 0;
MainWindow::MainWindow(QWidget *parent) : MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::MainWindow) ui(new Ui::MainWindow)
@ -123,6 +126,11 @@ void MainWindow::ReadConfig()
// //
qtCommon->readXyRange(configPath, g_iX1, g_iX2, g_iY1, g_iY2); qtCommon->readXyRange(configPath, g_iX1, g_iX2, g_iY1, g_iY2);
//读取,是否隐藏刻度
int iShow = 0;
qtCommon->readShowScale(configPath, iShow);
g_iShow = iShow;
} }
CallManage* MainWindow::getInstanceCallManage() CallManage* MainWindow::getInstanceCallManage()
{ {

View File

@ -19,6 +19,7 @@ extern int g_iY1;
extern int g_iY2; extern int g_iY2;
extern double g_dPixelPerCm;//每厘米像素数 extern double g_dPixelPerCm;//每厘米像素数
extern int g_iScale; extern int g_iScale;
extern int g_iShow; //显示刻度
extern int g_iRows; extern int g_iRows;
extern int g_iCols; extern int g_iCols;
@ -450,6 +451,11 @@ void MainWindowCurve::s_NewWell(QString strWellName)
{ {
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;
@ -1122,6 +1128,11 @@ void MainWindowCurve::slot_time()
double dHight = 0; double dHight = 0;
dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm; dHight = (g_iY2-g_iY1)*100.0/(double)g_iScale * g_dPixelPerCm;
if(g_iShow==1)
{
//显示刻度
dHight = dHight+30;
}
if(dHight>32767) if(dHight>32767)
{ {
dHight = 32767; dHight = 32767;

View File

@ -3,6 +3,9 @@
#include "geometryutils.h" #include "geometryutils.h"
#include "TransparentDraggableRect.h" #include "TransparentDraggableRect.h"
//是否隐藏刻度
extern int g_iShow;
QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) : QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWellName, QString strTrackName, QString strLineName) :
QCustomPlot(parent) QCustomPlot(parent)
{ {
@ -17,9 +20,17 @@ QMyCustomPlot::QMyCustomPlot(QWidget *parent, QString strSlfName, QString strWel
this->setNotAntialiasedElements(QCP::aeAll); // 关闭所有抗锯齿 this->setNotAntialiasedElements(QCP::aeAll); // 关闭所有抗锯齿
//jyl //jyl
xAxis->setTickLabels(false); if(g_iShow==1)
yAxis->setTickLabels(false); {
yAxis->setTickLabels(true);
}
else
{
//隐藏刻度
yAxis->setTickLabels(false);
}
// //
xAxis->setTickLabels(false);
xAxis2->setTickLabels(false); xAxis2->setTickLabels(false);
yAxis2->setTickLabels(false); yAxis2->setTickLabels(false);

View File

@ -46,6 +46,16 @@ double QtCommonClass::readConfigSize(QString filePathName, int &iIndex, int &iNu
return 0; return 0;
} }
//读取,是否隐藏刻度
double QtCommonClass::readShowScale(QString filePathName, int &iShow)
{
QSettings set(filePathName, QSettings::IniFormat);
set.beginGroup("config");
iShow = set.value("iShow", "0").toInt();
set.endGroup();
return 0;
}
double QtCommonClass::readXyRange(QString filePathName, int &iX1, int &iX2, int &iY1, int &iY2) double QtCommonClass::readXyRange(QString filePathName, int &iX1, int &iX2, int &iY1, int &iY2)
{ {
QSettings set(filePathName, QSettings::IniFormat); QSettings set(filePathName, QSettings::IniFormat);

View File

@ -19,6 +19,8 @@ public:
//读取 //读取
double readConfigSize(QString filePathName, int &iIndex, int &iNum, int &iOneWidth, int &iHeadHigh, int &iTitleHigh, int &iCurveHigh, int &iMove, int &iPointNum, int &iLineNum); double readConfigSize(QString filePathName, int &iIndex, int &iNum, int &iOneWidth, int &iHeadHigh, int &iTitleHigh, int &iCurveHigh, int &iMove, int &iPointNum, int &iLineNum);
//读取,是否隐藏刻度
double readShowScale(QString filePathName, int &iShow);
double readXyRange(QString filePathName, int &iX1, int &iX2, int &iY1, int &iY2); double readXyRange(QString filePathName, int &iX1, int &iX2, int &iY1, int &iY2);