#ifndef CUSTOMMODEL_H #define CUSTOMMODEL_H #include #include #include #include #include #include #include #include #include class CustomModel : public QAbstractTableModel { public: explicit CustomModel(QObject *parent = nullptr); 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; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; Qt::ItemFlags flags(const QModelIndex &index) const override; private: QVector> tableData; }; class CustomTableDelegate : public QStyledItemDelegate { public: explicit CustomTableDelegate(QObject *parent = nullptr); void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; }; class CustomTableView : public QTableView { public: explicit CustomTableView(QWidget *parent = nullptr); }; #endif // CUSTOMMODEL_H