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.
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.
QAbstractTableModel , you must implement
columnCount() , and
data() . Default implementations of the
parent() functions are provided by
QAbstractTableModel . Well behaved models will also implement
Editable models need to implement
setData() , and implement
flags() to return a value containing
Models that provide interfaces to resizable data structures can provide implementations of
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:
Some general guidelines for subclassing models are available in the Model Subclassing Reference .
Constructs an abstract table model for the given