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.
|
|
|
|
#ifndef NMWXRCWELL_H
|
|
|
|
|
#define NMWXRCWELL_H
|
|
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
|
|
class QListWidget;
|
|
|
|
|
class QLineEdit;
|
|
|
|
|
class QTableWidget;
|
|
|
|
|
|
|
|
|
|
class nmWxRCWell : public QWidget
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
explicit nmWxRCWell(QVector<QString> wellNames, QVector<double> wellsRadius, QWidget *parent = nullptr);
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
private slots:
|
|
|
|
|
// 选择井
|
|
|
|
|
void on_selectWell(int index);
|
|
|
|
|
// 修改表皮系数
|
|
|
|
|
void on_wellSkinChanged(QString);
|
|
|
|
|
private:
|
|
|
|
|
// 根据井的数量,先初始化默认值
|
|
|
|
|
void initDefaultValue();
|
|
|
|
|
// 初始化UI
|
|
|
|
|
void initUI();
|
|
|
|
|
QListWidget* initListWidget();
|
|
|
|
|
QWidget* initWellDetailWidget();
|
|
|
|
|
|
|
|
|
|
// 展示井的详情
|
|
|
|
|
void showWellDetail(int index);
|
|
|
|
|
private:
|
|
|
|
|
// 井的数量
|
|
|
|
|
QVector<QString> m_vWellNames;
|
|
|
|
|
// 井的半径
|
|
|
|
|
QVector<double> m_vWellsRadius;
|
|
|
|
|
// 井的表皮系数
|
|
|
|
|
QVector<double> m_vWellsSkin;
|
|
|
|
|
// 井储系数
|
|
|
|
|
QVector<double> m_vWellsReservoirFactor;
|
|
|
|
|
// 井的流量段,比如:井的流量段时2,则有2个持续时间和2个流量
|
|
|
|
|
QVector<int> m_vWellsTimeNum;
|
|
|
|
|
// 井的流量持续时间组
|
|
|
|
|
QVector<QVector<double>> m_vWellTimes;
|
|
|
|
|
// 井的流量组
|
|
|
|
|
QVector<QVector<double>> m_vWellFlows;
|
|
|
|
|
|
|
|
|
|
// 井列表
|
|
|
|
|
QListWidget* m_pWellListWidget;
|
|
|
|
|
// 井半径
|
|
|
|
|
QLineEdit* m_pWellRadiusEdit;
|
|
|
|
|
// 井的表皮系数
|
|
|
|
|
QLineEdit* m_pWellSkinEdit ;
|
|
|
|
|
// 井储系数
|
|
|
|
|
QLineEdit* m_pWellReservoirFactorEdit;
|
|
|
|
|
// 井的流量段,比如:井的流量段时2,则有2个持续时间和2个流量
|
|
|
|
|
QLineEdit* m_pWellTimeEdit;
|
|
|
|
|
|
|
|
|
|
// 设置流量段数据的table
|
|
|
|
|
QTableWidget* m_pTimeTableWidget;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // NMWXRCWELL_H
|