Home · All Classes · Modules

QAbstractTableModel Class Reference
[QtCore module]

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

Inherits QAbstractItemModel.

Inherited by QSqlQueryModel.


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 by QAbstractTableModel. Well behaved models will also implement headerData().

Editable models need to implement setData(), and implement flags() to return a value containing Qt.ItemIsEditable.

Models that provide interfaces to resizable data structures can provide implementations of insertRows(), removeRows(), insertColumns(), and removeColumns(). When implementing these functions, it is important to call the appropriate functions so that all connected views are aware of any changes:

Note: Some general guidelines for subclassing models are available in the Model Subclassing Reference.


Method Documentation

QAbstractTableModel.__init__ (self, QObject parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs an abstract table model for the given parent.

bool QAbstractTableModel.dropMimeData (self, QMimeData data, Qt.DropAction action, int row, int column, QModelIndex parent)

Reimplemented from QAbstractItemModel.dropMimeData().

QModelIndex QAbstractTableModel.index (self, int row, int column, QModelIndex parent = QModelIndex())

Reimplemented from QAbstractItemModel.index().

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

See also parent().

PyQt 4.9.4 for WindowsCopyright © Riverbank Computing Ltd and Nokia 2012Qt 4.8.2