You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.6 KiB
C++
78 lines
1.6 KiB
C++
#ifndef MAINWIDGET_H
|
|
#define MAINWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include "GSurface.h"
|
|
QT_BEGIN_NAMESPACE
|
|
namespace Ui { class MainWidget; }
|
|
QT_END_NAMESPACE
|
|
|
|
class COutlineDetector;
|
|
class QLineEdit;
|
|
class QSlider;
|
|
class MainWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MainWidget(QWidget *parent = nullptr);
|
|
~MainWidget();
|
|
|
|
private slots:
|
|
void on_btnCancel_clicked();
|
|
|
|
void on_btnDfg_clicked();
|
|
|
|
void on_btnBlackWhite_clicked();
|
|
|
|
//生成沉积相图按钮响应
|
|
void on_btnExecute_clicked();
|
|
|
|
//输出轮廓线按钮响应(合并具有包含关系的轮廓线,输出到指定文件)
|
|
void on_btnOutputContours_clicked();
|
|
|
|
void on_btnOrigin_clicked();
|
|
|
|
void showMousePosition(QMouseEvent *event);
|
|
|
|
void on_btnZoomAll_clicked();
|
|
|
|
private:
|
|
|
|
//初始化界面
|
|
void InitWidget(void);
|
|
|
|
//初始化按钮
|
|
void InitButtons(void);
|
|
|
|
|
|
//由m_pSurface更新网格参数
|
|
void updateGridParas(void);
|
|
|
|
//加载曲面
|
|
bool loadDfg(QString strDfg);
|
|
//保存轮廓线
|
|
bool writeContours(QString strFile);
|
|
|
|
//进行形态学处理并生成初始轮廓线
|
|
void ProcessImageAndCreateOriginalContours();
|
|
|
|
//绘制m_detector中的original轮廓线
|
|
void ShowOriginalContours(void);
|
|
//构建edit 和 slider的信号槽
|
|
void buildConnection(QLineEdit* edit, QSlider* slider);
|
|
//解除信号槽
|
|
void terminateConnection(QLineEdit* edit, QSlider* slider);
|
|
|
|
|
|
|
|
Ui::MainWidget *ui;
|
|
|
|
GSurface* m_pSurface;
|
|
COutlineDetector* m_detector;
|
|
|
|
GSurface m_surfBlackWhite;
|
|
|
|
};
|
|
#endif // MAINWIDGET_H
|