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++

#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