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.
nmWTAI-Platform/Include/nmNum/nmSubWxs/nmWxRCWell.h

81 lines
2.2 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#ifndef NMWXRCWELL_H
#define NMWXRCWELL_H
#include <QWidget>
class QListWidget;
class QLineEdit;
class QTableWidget;
class QTableWidgetItem;
class QLabel;
class nmWxRCWell : public QWidget {
Q_OBJECT
public:
explicit nmWxRCWell(QVector<QString> wellNames, QVector<double> wellsRadius, QWidget *parent = nullptr);
// 点击保存
bool saveData(QString filePath);
signals:
private slots:
// 选择井
void on_selectWell(int index);
// 修改表皮系数
void on_wellSkinChanged(QString);
// 修改井储系数
void on_wellReservoirFactorChanged(QString);
// 修改井的流量段数
void on_welltTimeChanged(QString);
// 监听井的流量段变化
void on_timeFlowChanged(QTableWidgetItem *item);
private:
// 根据井的数量,先初始化默认值
void initDefaultValue();
// 初始化UI
void initUI();
QListWidget* initListWidget();
QWidget* initWellDetailWidget();
// 展示井的详情
void showWellDetail(int index);
// 根据设置的流量段数,初始化默认流量段数据
void initWellTimeFlow(int wellIndex, int timeNum);
// 更新井的流量段
void updateWellTimeFlow(int iWellIndex);
// 打印所有井的数据
void printWells();
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;
// 创建label
QLabel* createLabel(QString);
// 井列表
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