#pragma once #include #include "ui_LandslideAssess.h" #include #include #include #include #include #include #include #include #include "SrsMainPluginInterFace.h" class WorkObject :public QObject { Q_OBJECT public: void on_cancel(); signals: void progress(int value); public slots: void runAssessWork(QString model, QString PRE, QString label, QString index, QString result); void writeAssessTxt(); private: QProcess* mProcess = nullptr; QString assess_txt_path; }; class LandslideAssess : public SrsMainInterface { Q_OBJECT Q_INTERFACES(SrsMainInterface) Q_PLUGIN_METADATA(IID MainInterface_iid) public: LandslideAssess(); virtual QString PannelName() override; virtual QString CategoryName() override; virtual QString EnglishName() override; virtual QString ChineseName() override; virtual QString Information() override; virtual QString IconPath() override; virtual QWidget* CenterWidget() override; void startWorkThread(); //读json文件,获取历史存储的路径 void ReadConfigHistoryPaths(QString strPath); //保存本次打开的路径到json文件 void WriteConfigPaths(QString strPath); signals: void startPreAssessment(QString model, QString prefile, QString label, QString index, QString result); public slots: void readAndStart(); void pbCancel(); void choosePredictPath(); void chooseLabelPath(); void chooseAssessFile(); void chooseModelFile(); void chooseResultPath(); private: Ui::LandslideAssessClass ui; QDialog* myWidget = nullptr; WorkObject* mWorker = nullptr; QThread* mWorkThread = nullptr; };