#pragma once #include "iWxPvtUtilItem.h" class M_TOOL_PVT_EXPORT iWxPvtUtilItemPseudo : public iWxPvtUtilItem { Q_OBJECT public: explicit iWxPvtUtilItemPseudo(QWidget *parent = 0); ~iWxPvtUtilItemPseudo(); // 传递参数 virtual void setInfos(QString sFluidType, QString sPhaseType, QString sPara); // 传递参数 void calAndFreshBy(QMap& mapInputs, \ iWxPvtUtilItem* pWxZg, iWxPvtUtilItem* pWxMug); // 组织四列拟压力相关的数据 // VecDouble vecP = vvec[0] // VecDouble vecPs = vvec[1] // VecDouble vecZg = vvec[2] // VecDouble vecMug = vvec[3] bool getPvtPseuInfos(VVecDouble& vvec); // 文件标识 virtual QString getFilePvtTag(); protected: virtual void initUI_Others_Paras(QHBoxLayout* pLayoutH); // 四个范围点,nWhich:0-3 double getPrsScale(int nWhich); // 步长 double getPrsStep(); // 获取数值 double getCtrlValueBy(QString sKey); protected slots: // 压力段范围点改变 void slotPrsScaleChanged(); // 压力段步长改变 void slotPrsStepChanged(); // 根据当前压力段范围点重新计算 void slotBtnRefresh(); private: // 初始化 virtual QWidget* initUI_Chart(); virtual void initUI_Others(); // 算法有多少种 virtual void dealwithMethods(); // 标题 virtual void dealwithTitles(); // 计算点 virtual bool calResultPos(QPointF& pt); // 组织数据 bool organizeInputs(QString sX, \ QMap& mapInputs, \ QMap& mapParas); signals: private: VecFloat m_vecZg; VecFloat m_vecMug; };