|
void | itemChanged (QStandardItem *item) |
|
void | columnsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
|
void | columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
|
void | columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
|
void | columnsInserted (const QModelIndex &parent, int first, int last) |
|
void | columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
|
void | columnsRemoved (const QModelIndex &parent, int first, int last) |
|
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles=QVector< int >()) |
|
void | headerDataChanged (Qt::Orientation orientation, int first, int last) |
|
void | layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents=QList< QPersistentModelIndex >(), QAbstractItemModel::LayoutChangeHint hint=QAbstractItemModel::NoLayoutChangeHint) |
|
void | layoutChanged (const QList< QPersistentModelIndex > &parents=QList< QPersistentModelIndex >(), QAbstractItemModel::LayoutChangeHint hint=QAbstractItemModel::NoLayoutChangeHint) |
|
void | modelAboutToBeReset () |
|
void | modelReset () |
|
void | rowsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
|
void | rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
|
void | rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
|
void | rowsInserted (const QModelIndex &parent, int first, int last) |
|
void | rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
|
void | rowsRemoved (const QModelIndex &parent, int first, int last) |
|
void | destroyed (QObject *obj=nullptr) |
|
void | objectNameChanged (const QString &objectName) |
|
|
| QStandardItemModel (int rows, int columns, QObject *parent=nullptr) |
|
| QStandardItemModel (QObject *parent=nullptr) |
|
| ~QStandardItemModel () |
|
void | appendColumn (const QList< QStandardItem * > &items) |
|
void | appendRow (const QList< QStandardItem * > &items) |
|
void | appendRow (QStandardItem *item) |
|
void | clear () |
|
int | columnCount (const QModelIndex &parent=QModelIndex ()) const override |
|
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
|
bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
|
QList< QStandardItem * > | findItems (const QString &text, Qt::MatchFlags flags=Qt::MatchExactly, int column=0) const |
|
Qt::ItemFlags | flags (const QModelIndex &index) const override |
|
bool | hasChildren (const QModelIndex &parent=QModelIndex ()) const override |
|
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
|
QStandardItem * | horizontalHeaderItem (int column) const |
|
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex ()) const override |
|
QModelIndex | indexFromItem (const QStandardItem *item) const |
|
void | insertColumn (int column, const QList< QStandardItem * > &items) |
|
bool | insertColumn (int column, const QModelIndex &parent=QModelIndex ()) |
|
bool | insertColumns (int column, int count, const QModelIndex &parent=QModelIndex ()) override |
|
void | insertRow (int row, const QList< QStandardItem * > &items) |
|
bool | insertRow (int row, const QModelIndex &parent=QModelIndex ()) |
|
void | insertRow (int row, QStandardItem *item) |
|
bool | insertRows (int row, int count, const QModelIndex &parent=QModelIndex ()) override |
|
QStandardItem * | invisibleRootItem () const |
|
QStandardItem * | item (int row, int column=0) const |
|
QMap< int, QVariant > | itemData (const QModelIndex &index) const override |
|
QStandardItem * | itemFromIndex (const QModelIndex &index) const |
|
const QStandardItem * | itemPrototype () const |
|
QMimeData * | mimeData (const QModelIndexList &indexes) const override |
|
QStringList | mimeTypes () const override |
|
QObject * | parent () const |
|
QModelIndex | parent (const QModelIndex &child) const override |
|
bool | removeColumns (int column, int count, const QModelIndex &parent=QModelIndex ()) override |
|
bool | removeRows (int row, int count, const QModelIndex &parent=QModelIndex ()) override |
|
int | rowCount (const QModelIndex &parent=QModelIndex ()) const override |
|
void | setColumnCount (int columns) |
|
bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override |
|
bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole) override |
|
void | setHorizontalHeaderItem (int column, QStandardItem *item) |
|
void | setHorizontalHeaderLabels (const QStringList &labels) |
|
void | setItem (int row, int column, QStandardItem *item) |
|
void | setItem (int row, QStandardItem *item) |
|
bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) override |
|
void | setItemPrototype (const QStandardItem *item) |
|
void | setItemRoleNames (const QMultiHash< int, QString > &roleNames) |
|
void | setRowCount (int rows) |
|
void | setSortRole (int role) |
|
void | setVerticalHeaderItem (int row, QStandardItem *item) |
|
void | setVerticalHeaderLabels (const QStringList &labels) |
|
void | sort (int column, Qt::SortOrder order=Qt::AscendingOrder) override |
|
int | sortRole () const |
|
Qt::DropActions | supportedDropActions () const override |
|
QList< QStandardItem * > | takeColumn (int column) |
|
QStandardItem * | takeHorizontalHeaderItem (int column) |
|
QStandardItem * | takeItem (int row, int column=0) |
|
QList< QStandardItem * > | takeRow (int row) |
|
QStandardItem * | takeVerticalHeaderItem (int row) |
|
QStandardItem * | verticalHeaderItem (int row) const |
|
| QAbstractItemModel (QObject *parent=nullptr) |
|
virtual | ~QAbstractItemModel () |
|
virtual QModelIndex | buddy (const QModelIndex &index) const |
|
virtual bool | canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const |
|
virtual bool | canFetchMore (const QModelIndex &parent) const |
|
virtual void | fetchMore (const QModelIndex &parent) |
|
bool | hasIndex (int row, int column, const QModelIndex &parent=QModelIndex ()) const |
|
bool | insertColumn (int column, const QModelIndex &parent=QModelIndex ()) |
|
bool | insertRow (int row, const QModelIndex &parent=QModelIndex ()) |
|
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits=1, Qt::MatchFlags flags=Qt::MatchFlags (Qt::MatchStartsWith|Qt::MatchWrap)) const |
|
bool | moveColumn (const QModelIndex &sourceParent, int sourceColumn, const QModelIndex &destinationParent, int destinationChild) |
|
virtual bool | moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild) |
|
bool | moveRow (const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild) |
|
virtual bool | moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) |
|
QObject * | parent () const |
|
bool | removeColumn (int column, const QModelIndex &parent=QModelIndex ()) |
|
bool | removeRow (int row, const QModelIndex &parent=QModelIndex ()) |
|
virtual QMultiHash< int, QString > | roleNames () const |
|
virtual QModelIndex | sibling (int row, int column, const QModelIndex &index) const |
|
virtual QSize | span (const QModelIndex &index) const |
|
virtual Qt::DropActions | supportedDragActions () const |
|
| QObject (QObject *parent=nullptr) |
|
| ~QObject () |
|
bool | blockSignals (bool block) |
|
const QList< QObject * > & | children () const |
|
bool | connect (const QObject *sender, const QString &signalMethod, const QString &location, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection) |
|
bool | connect (const QObject *sender, const QString &signalMethod, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection) |
|
bool | disconnect (const QObject *receiver, const QString &slotMethod=QString ()) const |
|
bool | disconnect (const QString &signalMethod, const QString &location, const QObject *receiver=nullptr, const QString &slotMethod=QString ()) const |
|
bool | disconnect (const QString &signalMethod=QString (), const QObject *receiver=nullptr, const QString &slotMethod=QString ()) const |
|
void | dumpObjectInfo () |
|
void | dumpObjectTree () |
|
QList< QString > | dynamicPropertyNames () const |
|
virtual bool | event (QEvent *event) |
|
virtual bool | eventFilter (QObject *watched, QEvent *event) |
|
template<typename T > |
T | findChild (const QString &childName=QString ()) const |
|
template<class T > |
QList< T > | findChildren (const QRegularExpression ®Exp, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
|
template<class T > |
QList< T > | findChildren (const QString &childName=QString (), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
|
bool | inherits (const QString &className) const |
|
void | installEventFilter (QObject *filterObj) |
|
bool | isWidgetType () const |
|
bool | isWindowType () const |
|
void | killTimer (int id) |
|
const QMetaObject * | metaObject () const |
|
void | moveToThread (QThread *targetThread) |
|
QString | objectName () const |
|
QObject * | parent () const |
|
template<class T = QVariant> |
T | property (const QString &name) const |
|
void | removeEventFilter (QObject *obj) |
|
void | setObjectName (const QString &name) |
|
void | setParent (QObject *parent) |
|
bool | setProperty (const QString &name, const QVariant &value) |
|
bool | signalsBlocked () const |
|
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
|
QThread * | thread () const |
|
|
virtual void | revert () |
|
virtual bool | submit () |
|
void | deleteLater () |
|
static bool | connect (const QObject *sender, const QMetaMethod &signalMethod, const QObject *receiver, const QMetaMethod &slotMethod, Qt::ConnectionType type=Qt::AutoConnection) |
|
static bool | connect (const QObject *sender, const QString &signalMethod, const QObject *receiver, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection, const QString &location=QString ()) |
|
static bool | connect (const QObject *sender, const QString &signalMethod, const QString &location, const QObject *receiver, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection) |
|
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class SlotClass , class... SlotArgs, class SlotReturn > |
static bool | connect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, SlotReturn (SlotClass::*slotMethod)(SlotArgs...), Qt::ConnectionType type=Qt::AutoConnection) |
|
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class T > |
static bool | connect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, T slotLambda, Qt::ConnectionType type=Qt::AutoConnection) |
|
static bool | disconnect (const QObject *sender, const QMetaMethod &signalMethod, const QObject *receiver, const QMetaMethod &slotMethod) |
|
static bool | disconnect (const QObject *sender, const QString &signalMethod, const QObject *receiver, const QString &slotMethod) |
|
static bool | disconnect (const QObject *sender, const QString &signalMethod, const QString &location, const QObject *receiver, const QString &slotMethod) |
|
static bool | disconnect (const QObject *sender, std::nullptr_t, const QObject *receiver, std::nullptr_t) |
|
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class SlotClass , class... SlotArgs, class SlotReturn > |
static bool | disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, SlotReturn (SlotClass::*slotMethod)(SlotArgs...)) |
|
template<class Sender , class SignalClass , class... SignalArgs, class Receiver > |
static bool | disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, std::nullptr_t slotMethod=nullptr) |
|
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class T > |
static bool | disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, T slotMethod) |
|
static QMetaObject & | staticMetaObject () |
|
static QString | tr (const char *text, const char *comment=nullptr, std::optional< int > numArg=std::optional< int >()) |
|
void | resetInternalData () |
|
void | beginInsertColumns (const QModelIndex &parent, int first, int last) |
|
void | beginInsertRows (const QModelIndex &parent, int first, int last) |
|
bool | beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationColumn) |
|
bool | beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationRow) |
|
void | beginRemoveColumns (const QModelIndex &parent, int first, int last) |
|
void | beginRemoveRows (const QModelIndex &parent, int first, int last) |
|
void | beginResetModel () |
|
void | changePersistentIndex (const QModelIndex &from, const QModelIndex &to) |
|
void | changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to) |
|
QModelIndex | createIndex (int row, int column, quintptr id) const |
|
QModelIndex | createIndex (int row, int column, void *data=nullptr) const |
|
void | endInsertColumns () |
|
void | endInsertRows () |
|
void | endMoveColumns () |
|
void | endMoveRows () |
|
void | endRemoveColumns () |
|
void | endRemoveRows () |
|
void | endResetModel () |
|
QModelIndexList | persistentIndexList () const |
|
virtual void | childEvent (QChildEvent *event) |
|
virtual void | connectNotify (const QMetaMethod &signalMethod) const |
|
virtual void | customEvent (QEvent *event) |
|
virtual void | disconnectNotify (const QMetaMethod &signalMethod) const |
|
bool | isSignalConnected (const QMetaMethod &signalMethod) const |
|
int | receivers (const QString &signal) const |
|
QObject * | sender () const |
|
int | senderSignalIndex () const |
|
virtual void | timerEvent (QTimerEvent *event) |
|
T | qobject_cast (QObject *object) |
|
| QObjectList |
|
The QStandardItemModel class is used to store data as defined by the software model/view paradigm. The data in a QStandardItemModel is added by first creating a QStandardItem and then passing it to the model by calling one of the append methods. This model can be used with any of the view classes like QListView, QTableView, QTreeView or any third party custom view classes.
Usage
When using a QStandardItemModel for a list or tree view construct an empty model and use appendRow() to add items to the model.
If the data will be displayed in a table it may be helpful to pass the dimensions of the table to the QStandardItemModel constructor and then use setItem() to add a QStandardItem.
The setRowCount() and setColumnCount() methods can be used to alter the dimensions of the model. To insert items use insertRow() or insertColumn(). To remove items use removeRow() or removeColumn(). Call clear() to remove all items from the model.
The headers labels in a the model are set by using setHorizontalHeaderLabels() or setVerticalHeaderLabels(). You can search for items in the model with findItems() and sort the model by calling sort().
Example
The following is an example showing how to use QStandardItemModel to create a table view.
for (int row = 0; row < 4; ++row) {
for (int column = 0; column < 4; ++column) {
model.setItem(row, column,
item);
}
}
The following is an example showing how to use QStandardItemModel to create a tree view.
for (int i = 0; i < 4; ++i) {
}
Model Indexes
After calling setModel() on a view and passing the model, typically you will want to configure the view to handle user actions such as an item being clicked. Handling these actions usually requires obtaining the QModelIndex to find the QStandardItem. The methods itemFromIndex() and indexFromItem() provide functionality to convert between the model index and an item.
In the following example a connection is set up between the signal from the view to a slot in your class. When the signal is emitted the model index will be passed to the your slot. From the slot method call the itemFromIndex() to obtain a pointer to the item which clicked.
{
treeView->
setModel(myStandardItemModel);
}
{
}
- See also
- QStandardItem, QAbstractItemModel, Model/View Architecture