QAbstractTableModel 类

QAbstractTableModel 类提供可以被子类化以创建表格模型的抽象模型。 更多...

头: #include <QAbstractTableModel>
qmake: QT += core
继承: QAbstractItemModel

公共函数

QAbstractTableModel (QObject * parent = nullptr)
virtual ~QAbstractTableModel ()

重实现公共函数

virtual bool dropMimeData (const QMimeData * data , Qt::DropAction action , int row , int column , const QModelIndex & parent ) override
virtual Qt::ItemFlags flags (const QModelIndex & index ) const override
virtual QModelIndex index (int row , int column , const QModelIndex & parent = QModelIndex()) const override
virtual QModelIndex sibling (int row , int column , const QModelIndex & idx ) const override

详细描述

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.

rowCount () 和 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 (),和 data (). Default implementations of the index () 和 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 (),和 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 模型子类化参考 .

另请参阅 模型类 , QAbstractItemModel , QAbstractListModel ,和 像素器范例 .

成员函数文档编制

QAbstractTableModel:: QAbstractTableModel ( QObject * parent = nullptr)

Constructs an abstract table model for the given parent .

[virtual] QAbstractTableModel:: ~QAbstractTableModel ()

Destroys the abstract table model.

[override virtual] bool QAbstractTableModel:: dropMimeData (const QMimeData * data , Qt::DropAction action , int row , int column , const QModelIndex & parent )

重实现: QAbstractItemModel::dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).

[override virtual] Qt::ItemFlags QAbstractTableModel:: flags (const QModelIndex & index ) const

重实现: QAbstractItemModel::flags (const QModelIndex &index) const.

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

重实现: QAbstractItemModel::index (int row, int column, const QModelIndex &parent) const.

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

另请参阅 parent ().

[override virtual] QModelIndex QAbstractTableModel:: sibling ( int row , int column , const QModelIndex & idx ) const

重实现: QAbstractItemModel::sibling (int row, int column, const QModelIndex &index) const.