#ifndef MAINWIDGET_H #define MAINWIDGET_H #include #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