QPersistentModelIndex 类
QPersistentModelIndex 类用于在数据模型中定位数据。 更多...
头文件 | #include <QPersistentModelIndex> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员列表,包括继承的成员
- QPersistentModelIndex 属于 隐式共享类。
公共函数
QPersistentModelIndex(const QModelIndex &index) | |
QPersistentModelIndex(const QPersistentModelIndex &other) | |
QPersistentModelIndex(QPersistentModelIndex &&other) | |
int | column() const |
QVariant | data(int role = Qt::DisplayRole) const |
Qt::ItemFlags | flags() const |
bool | isValid() const |
const QAbstractItemModel * | model() const |
(since 6.0) void | multiData(QModelRoleDataSpan roleDataSpan) const |
QModelIndex | parent() const |
int | row() const |
QModelIndex | sibling(int row, int column) const |
void | swap(QPersistentModelIndex &other) |
QModelIndex | operator QModelIndex() const |
bool | operator!=(const QPersistentModelIndex &other) const |
bool | operator!=(const QModelIndex &other) const |
bool | operator<(const QPersistentModelIndex &other) const |
QPersistentModelIndex & | operator=(const QPersistentModelIndex &other) |
QPersistentModelIndex & | operator=(QPersistentModelIndex &&other) |
QPersistentModelIndex & | operator=(const QModelIndex &other) |
bool | operator==(const QPersistentModelIndex &other) const |
bool | operator==(const QModelIndex &other) const |
相关非成员
size_t | qHash(const QPersistentModelIndex &index, size_t seed = 0) |
详细描述
A QPersistentModelIndex 是一种可以在应用程序中存储的模型索引,稍后再用来访问模型中的信息。与 QModelIndex 类不同,存储 QPersistentModelIndex 是安全的,因为模型将确保只要可以通过模型访问,对项的引用将始终保持有效。
在使用之前检查持久模型索引是否有效是良好的做法。
注意:您不能在模型项中存储 QStandardItemModel 的 QPersistentModelIndex。
另见:模型/视图编程、QModelIndex 和 QAbstractItemModel。
成员函数文档
QPersistentModelIndex::QPersistentModelIndex(const QModelIndex &index)
创建一个新的 QPersistentModelIndex,它是模型 index 的副本。
QPersistentModelIndex::QPersistentModelIndex(const QPersistentModelIndex &other)
创建一个新的 QPersistentModelIndex,它是 other 持久模型索引的副本。
[noexcept]
QPersistentModelIndex::QPersistentModelIndex(QPersistentModelIndex &&other)
通过移动构造函数构造 QPersistentModelIndex 实例,使其指向 other 所指向的对象。
int QPersistentModelIndex::column() const
返回该持久模型索引所指向的列。
QVariant QPersistentModelIndex::data(int role = Qt::DisplayRole) const
返回索引所指项的给定 role 的数据。
另见:Qt::ItemDataRole 和 QAbstractItemModel::setData。
Qt::ItemFlags QPersistentModelIndex::flags() const
返回索引所指项的标志。
bool QPersistentModelIndex::isValid() const
如果此持久模型索引是有效的,则返回 true
;否则返回 false
。
一个有效索引属于某个模型,并且具有非负的行和列号。
const QAbstractItemModel *QPersistentModelIndex::model() const
返回索引所属的模型。
[since 6.0]
void QPersistentModelIndex::multiData(QModelRoleDataSpan roleDataSpan) const
填充给定的 roleDataSpan,以提供给索引所指项的数据。
此函数是在 Qt 6.0 中引入的。
另见:Qt::ItemDataRole 和 QAbstractItemModel::setData。
QModelIndex QPersistentModelIndex::parent() const
返回此持久索引的父级 QModelIndex,如果没有父级,则返回一个无效的 QModelIndex。
int QPersistentModelIndex::row() const
返回此持久化模型索引所指的行。
QModelIndex QPersistentModelIndex::sibling(int row, int column) const
返回位于 row 和 column 的兄弟索引,或者如果没有兄弟索引在此位置,则返回一个无效的 QModelIndex。
另请参阅parent().
[noexcept]
void QPersistentModelIndex::swap(QPersistentModelIndex &other)
与 other 交换此持久模型索引。此函数非常快速且永远不会失败。
QModelIndex QPersistentModelIndex::operator QModelIndex() const
转换运算符,返回一个 QModelIndex。
[noexcept]
bool QPersistentModelIndex::operator!=(const QPersistentModelIndex &other) const
如果此持久化模型索引不等于 other 持久化模型索引,则返回 true
;否则返回 false
。
[noexcept]
bool QPersistentModelIndex::operator!=(const QModelIndex &other) const
如果此持久化模型索引不引用同一模型索引的位置,则返回 true
;否则返回 false
。
[noexcept]
bool QPersistentModelIndex::operator<(const QPersistentModelIndex &other) const
如果此持久化模型索引小于 other 持久化模型索引,则返回 true
;否则返回 false
。
当与另一个持久化模型索引进行比较时,持久模型索引中的内部数据指针、行、列和模型值被使用。
QPersistentModelIndex &QPersistentModelIndex::operator=(const QPersistentModelIndex &other)
将持久化模型索引设置为引用模型中与 other 持久化模型索引相同的项。
[noexcept]
QPersistentModelIndex &QPersistentModelError:operator=(QPersistentModelIndex &&other)
将 other 移至此 QPersistentModelIndex 实例。
QPersistentModelIndex &QPersistentModelError:operator=(const QModelIndex &other)
将持久化模型索引设置为引用模型中与 other 模型索引相同的项。
[noexcept]
bool QPersistentModelError:operator==(const QPersistentModelIndex &other) const
如果此持久化模型索引等于 other 持久化模型索引,则返回 true
;否则返回 false
。
当与另一个持久化模型索引进行比较时,持久模型索引中的内部数据指针、行、列和模型值被使用。
[noexcept]
bool QPersistentModelIndex::operator==(const QModelIndex &other) const
如果此持久索引模型引用与其他索引模型相同的地址,则返回 true
;否则返回 false
。
当与其他模型索引进行比较时,持久模型索引中的内部数据指针、行、列和模型值将被使用。
相关非成员
[noexcept]
size_t qHash(const QPersistentModelIndex &index, size_t seed = 0)
使用 seed 进行计算,返回 QPersistentModelIndex index 的哈希值。
© 2024 The Qt Company Ltd. 本文档中的贡献版权属于其各自的拥有者。本提供的文档根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款许可。Qt和相应的徽标是The Qt Company Ltd.在芬兰以及其他国家和地区注册的商标。所有其他商标均为其各自所有者的财产。