123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #ifndef GREYCLUSTERINGSAMPLETABLE_H
- #define GREYCLUSTERINGSAMPLETABLE_H
- #include <QStandardItemModel>
- #include <QTableView>
- #include <QVector>
- #include <QSharedPointer>
- class CMind;
- struct GreyRange
- {
- QString name;
- bool leftClose; // 左闭合
- double leftValue;
- bool rightClose; // 右闭合
- double rightValue;
- };
- struct GreyClusteringValue
- {
- QString units; // 单位
- double weiget;
- QVector<GreyRange> greyRanges; // 灰类
- double leftExtension; // 延拓值左
- double rightExtension; // 延拓值右
- double oldValue; // 实现值改前
- double newValue; // 实现值改后
- };
- struct GreyClusteringItem
- {
- QString indexName; // 指标名字
- int row;
- int col;
- int rowSpan;
- int colSpan;
- QSharedPointer<GreyClusteringValue> value;
- };
- class GreyClusteringSampleTable : public QTableView
- {
- Q_OBJECT
- public:
- GreyClusteringSampleTable(CMind *mind, int grayNumber, QWidget *parent = nullptr);
- void refreshTableView();
- private:
- void init();
- void initClusteringItems();
- private:
- QVector<GreyClusteringItem> m_greyClusterings;
- QStandardItemModel *m_model;
- CMind *m_mind;
- int m_nodeDepth; // 节点深度
- int m_rowCount; // 行数
- QStringList m_grayNames;
- const int nodeDepth = 2; // 节点深度
- int m_grayNumber;
- };
- #endif // GREYCLUSTERINGSAMPLETABLE_H
|