QModelRoleData Class

The QModelRoleData class holds a role and the data associated to that role. More...

Header: #include <QModelRoleData>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Since: Qt 6.0

Public Functions

QModelRoleData(int role)
void clearData()
QVariant &data()
const QVariant &data() const
int role() const
void setData(T &&value)

Detailed Description

QModelRoleData objects store an item role (which is a value from the Qt::ItemDataRole enumeration, or an arbitrary integer for a custom role) as well as the data associated with that role.

A QModelRoleData object is typically created by views or delegates, setting which role they want to fetch the data for. The object is then passed to models (see QAbstractItemModel::multiData()), which populate the data corresponding to the role stored. Finally, the view visualizes the data retrieved from the model.

See also Model/View Programming and QModelRoleDataSpan.

Member Function Documentation

[explicit noexcept] QModelRoleData::QModelRoleData(int role)

Constructs a QModelRoleData object for the given role.

See also Qt::ItemDataRole.

[noexcept] void QModelRoleData::clearData()

Clears the data held by this object. Note that the role is unchanged; only the data is cleared.

See also data().

[constexpr noexcept] QVariant &QModelRoleData::data()

Returns the data held by this object as a modifiable reference.

See also setData().

[constexpr noexcept] const QVariant &QModelRoleData::data() const

Returns the data held by this object.

See also setData().

[constexpr noexcept] int QModelRoleData::role() const

Returns the role held by this object.

See also Qt::ItemDataRole.

[constexpr noexcept(...)] template <typename T> void QModelRoleData::setData(T &&value)

Sets the data held by this object to value. value must be of a datatype which can be stored in a QVariant.

Note: This function is noexcept when noexcept(m_data.setValue(std::forward<T>(value))) is true.

See also data(), clearData(), and Q_DECLARE_METATYPE.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.