Files
pearson/DataTableModel.h
2022-01-07 15:42:08 +08:00

45 lines
1.0 KiB
C++

//
// Created by fly on 2021/11/25.
//
#ifndef PEARSON_DATATABLEMODEL_H
#define PEARSON_DATATABLEMODEL_H
#include <QAbstractTableModel>
#include <QVariant>
#include <QStringList>
#include <QList>
#include <tuple>
#include <list>
class DataTableModel : public QAbstractTableModel {
Q_OBJECT
public:
explicit DataTableModel(QObject *parent = nullptr);
// Header:
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
// Basic functionality:
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
void sort(int column, Qt::SortOrder order) override;
void clear();
void InsertRow(QString name, double pearson);
bool SaveFile(QString const &fileName);
private:
QStringList m_headerData;
std::vector<std::tuple<QString, double, double>> m_tableData;
};
#endif //PEARSON_DATATABLEMODEL_H