Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QAbstractTableModel Class Reference

The QAbstractTableModel class provides an abstract model that can be subclassed to create table models. More...

    #include <QAbstractTableModel>

Inherits QAbstractItemModel.

Inherited by QSqlQueryModel.

- List of all members, including inherited members

### Writable Properties

- 1 writable property inherited from QObject

### Public Functions

- QAbstractTableModel ( QObject * parent = 0 )
- ~QAbstractTableModel ()
- virtual int columnCount () const = 0
- virtual QModelIndex index ( int row, int column, const QModelIndex & parent = QModelIndex::Null ) const
- virtual int rowCount () const = 0

- 31 public functions inherited from QAbstractItemModel
- 24 public functions inherited from QObject

### Public Slots

- 1 public slot inherited from QObject

### Signals

- 6 signals inherited from QAbstractItemModel
- 1 signal inherited from QObject

### Static Public Members

- 4 static public members inherited from QObject

### Protected Functions

- 1 protected function inherited from QAbstractItemModel
- 9 protected functions inherited from QObject

## Detailed Description

The QAbstractTableModel class provides an abstract model that can be subclassed to create table models.

QAbstractTableModel provides a standard interface for models that represent their data as a two-dimensional array of items. It is not used directly, but must be subclassed.

Since the model provides a more specialized interface than QAbstractItemModel, it is not suitable for use with tree views, although it can be used to provide data to a QListView. If you need to represent a simple list of items, and only need a model to contain a single column of data, subclassing the QAbstractListModel may be more appropriate.

The rowCount() and columnCount() functions return the dimensions of the table. To retrieve a model index corresponding to an item in the model, use index() and provide only the row and column numbers.

When subclassing QAbstractTableModel, you must implement rowCount(), columnCount(), and data(). Default implementations of the index() and parent() functions are provided.

See also Model/View Programming, QAbstractItemModel, and QAbstractListModel.

## Member Function Documentation

### QAbstractTableModel::QAbstractTableModel ( QObject * parent = 0 )

Constructs an abstract table model for the given parent.

### QAbstractTableModel::~QAbstractTableModel ()

Destroys the abstract table model.

### int QAbstractTableModel::columnCount () const `[pure virtual]`

Returns the number of columns in the model.

### QModelIndex QAbstractTableModel::index ( int row, int column, const QModelIndex & parent = QModelIndex::Null ) const `[virtual]`

Returns the index of the data in row and column with parent.

Reimplemented from QAbstractItemModel.

See also parent().

### int QAbstractTableModel::rowCount () const `[pure virtual]`

Returns the number of rows in the model.