可是解释的toolbar,追加图像自滚功能。

This commit is contained in:
jiayulong 2026-05-15 10:41:12 +08:00
parent be10b64554
commit 865c0da6f0
2 changed files with 50 additions and 3 deletions

View File

@ -309,7 +309,7 @@ void MainWindowCurve::initMainToolBar()
QIcon SaveAsPdfIcon(::GetImagePath()+"icon/ExportPDF.png");
QIcon SaveAsSvgIcon(::GetImagePath()+"icon/ExportSVG.png");
QIcon doubleHeadIcon(::GetImagePath()+"icon/oneortwohead.png");
QIcon runIcon(":/image/capacity.png");
QIcon autorollIcon(::GetImagePath()+"icon/Autoroll.png");
QIcon loadIcon(":/image/export.png");
//Main工具栏
@ -317,14 +317,14 @@ void MainWindowCurve::initMainToolBar()
m_fixwellsectionHeaderAc = new QAction(fixwellsectionHeaderIcon, "锁头", this);
m_currtempliteAc = new QAction(currtempliteIcon, "加载图文件", this);
m_saveastemplateAc = new QAction(saveastemplateIcon, "另存为图文件", this);
m_doubleHeadAc = new QAction(doubleHeadIcon, "单曲线头", this);
m_executeDepthShiftAc = new QAction(executeDepthShiftIcon, "校深", this);
m_joindepthAc = new QAction(joindepthIcon, "拼接", this);
m_autorollAc = new QAction(autorollIcon, "图像自滚", this);
m_ModuleOpenAc = new QAction(ModuleOpenIcon, "处理方法", this);
m_SaveAsPictureAc = new QAction(SaveAsPictureIcon, "导出长图", this);
m_SaveAsPdfAc = new QAction(SaveAsPdfIcon, "导出PDF", this);
m_SaveAsSvgAc = new QAction(SaveAsSvgIcon, "导出SVG", this);
m_doubleHeadAc = new QAction(doubleHeadIcon, "单曲线头", this);
// m_loadAc = new QAction(loadIcon, "重做", this);
//m_openAc = new QAction(openFileIcon, "打开", this);
ui->mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //此种方式为文字显示在图标右侧
@ -338,6 +338,7 @@ void MainWindowCurve::initMainToolBar()
ui->mainToolBar->addAction(m_doubleHeadAc); //单曲线头
ui->mainToolBar->addAction(m_executeDepthShiftAc); //校深
ui->mainToolBar->addAction(m_joindepthAc); //拼接
ui->mainToolBar->addAction(m_autorollAc); //图像自滚
ui->mainToolBar->addAction(m_ModuleOpenAc); //处理方法
ui->mainToolBar->addSeparator();
ui->mainToolBar->addAction(m_SaveAsPictureAc); //导出长图
@ -351,6 +352,7 @@ void MainWindowCurve::initMainToolBar()
m_doubleHeadAc->setCheckable(true); //单曲线头
m_executeDepthShiftAc->setCheckable(true); //校深
m_joindepthAc->setCheckable(true); //拼接
m_autorollAc->setCheckable(true); //图像自滚
connect(m_selectWellAc, &QAction::triggered, this, &MainWindowCurve::s_selectWell);
connect(m_fixwellsectionHeaderAc, &QAction::triggered, this, &MainWindowCurve::s_showHeadTable);
@ -360,6 +362,7 @@ void MainWindowCurve::initMainToolBar()
connect(m_doubleHeadAc, &QAction::triggered, this, &MainWindowCurve::s_DoubleHead);
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_ModuleOpenAc, &QAction::triggered, this, &MainWindowCurve::s_ModuleOpen);
connect(m_SaveAsPictureAc, &QAction::triggered, this, &MainWindowCurve::s_SaveAsPicture);
@ -2614,6 +2617,43 @@ void MainWindowCurve::s_DoubleHead()
}
//图像自滚
void MainWindowCurve::s_Autoroll()
{
if(m_clockTimer) {
m_clockTimer->stop();
delete m_clockTimer;
m_clockTimer = NULL;
}
else {
m_clockTimer = new QTimer();
connect(m_clockTimer, SIGNAL(timeout()), this, SLOT(onTimer()));
m_clockTimer->setInterval(1000);
m_clockTimer->start();
}
}
//图像自滚,定时器处理
void MainWindowCurve::onTimer()
{
int step=ui->verticalScrollBar->pageStep();
if(step<1)
{
step=10;
}
//
int maxval=-m_iY1;
int val=ui->verticalScrollBar->value();
if(val+step<maxval)
{
ui->verticalScrollBar->setValue(val+step);
}
else
{
ui->verticalScrollBar->setValue(-m_iY2);
}
}
//校深
void MainWindowCurve::s_ExecuteDepthShift()
{

View File

@ -92,6 +92,8 @@ public:
double m_iY1=-1000;
double m_iY2=0;
int m_iCurPage = 1;//当前页
//图像自滚定时器
QTimer *m_clockTimer = nullptr;
public:
//展示所有井
void DisplayWells(QJsonArray wellsArray);
@ -192,6 +194,7 @@ public:
QAction* m_doubleHeadAc = nullptr; //单曲线头
QAction* m_executeDepthShiftAc = nullptr; //校深
QAction* m_joindepthAc = nullptr; //拼接
QAction* m_autorollAc = nullptr; //图像自滚
QAction* m_ModuleOpenAc = nullptr; //处理方法
QAction* m_SaveAsPictureAc = nullptr; //导出长图
QAction* m_SaveAsPdfAc = nullptr; //导出PDF
@ -280,6 +283,7 @@ public slots:
void s_DoubleHead(); //单曲线头
void s_ExecuteDepthShift(); //校深
void s_ExecuteMerge(); //拼接
void s_Autoroll(); //图像自滚
void s_ModuleOpen(); //处理算法
void s_SaveAsPicture(); //导出长图
void s_SaveAsPdf(); //导出PDF
@ -288,6 +292,9 @@ public slots:
void _slotExport(QPrinter &printer, int IsBmp, QString pngName, QString strTmpName);
//打印出图,改变深度
void changeDepthForPrint();
//图像自滚,定时器处理
void onTimer();
};
#endif // MAINWINDOWCURVE_H