QTableView* tableView = new QTableView; QStandardItemModel* model = new QStandardItemModel; model->setHorizontalHeaderLabels(QStringList() << "Name" << "Age" << "Gender"); model->setItem(0, 0, new QStandardItem("John")); model->setItem(0, 1, new QStandardItem("25")); model->setItem(0, 2, new QStandardItem("Male")); tableView->setModel(model);
class CustomModel : public QAbstractTableModel { public: CustomModel(QObject* parent = nullptr) : QAbstractTableModel(parent) { // initialize data } int rowCount(const QModelIndex& parent = QModelIndex()) const override { // return number of rows } int columnCount(const QModelIndex& parent = QModelIndex()) const override { // return number of columns } QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override { // return data for the given index and role } }; QTableView* tableView = new QTableView; CustomModel* model = new CustomModel; tableView->setModel(model);This example demonstrates how to create a custom data model for QTableView. The CustomModel class inherits from QAbstractTableModel and overrides the necessary methods for a tabular data model. The QTableView object is then set with an instance of this custom model. Package library: Qt Widgets module