QPersistentModelIndex 类

QPersistentModelIndex 类用于在数据模型中定位数据。 更多...

头文件 #include <QPersistentModelIndex>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

公共函数

QPersistentModelIndex(const QModelIndex &index)
QPersistentModelIndex(const QPersistentModelIndex &other)
QPersistentModelIndex(QPersistentModelIndex &&other)
intcolumn() const
QVariantdata(int role = Qt::DisplayRole) const
Qt::ItemFlagsflags() const
boolisValid() const
const QAbstractItemModel *model() const
(since 6.0) voidmultiData(QModelRoleDataSpan roleDataSpan) const
QModelIndexparent() const
introw() const
QModelIndexsibling(int row, int column) const
voidswap(QPersistentModelIndex &other)
QModelIndexoperator QModelIndex() const
booloperator!=(const QPersistentModelIndex &other) const
booloperator!=(const QModelIndex &other) const
booloperator<(const QPersistentModelIndex &other) const
QPersistentModelIndex &operator=(const QPersistentModelIndex &other)
QPersistentModelIndex &operator=(QPersistentModelIndex &&other)
QPersistentModelIndex &operator=(const QModelIndex &other)
booloperator==(const QPersistentModelIndex &other) const
booloperator==(const QModelIndex &other) const
size_tqHash(const QPersistentModelIndex &index, size_t seed = 0)

详细描述

A QPersistentModelIndex 是一种可以在应用程序中存储的模型索引,稍后再用来访问模型中的信息。与 QModelIndex 类不同,存储 QPersistentModelIndex 是安全的,因为模型将确保只要可以通过模型访问,对项的引用将始终保持有效。

在使用之前检查持久模型索引是否有效是良好的做法。

注意:您不能在模型项中存储 QStandardItemModel 的 QPersistentModelIndex。

另见:模型/视图编程QModelIndexQAbstractItemModel

成员函数文档

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::ItemDataRoleQAbstractItemModel::setData

Qt::ItemFlags QPersistentModelIndex::flags() const

返回索引所指项的标志。

bool QPersistentModelIndex::isValid() const

如果此持久模型索引是有效的,则返回 true;否则返回 false

一个有效索引属于某个模型,并且具有非负的行和列号。

另见:model()、row() 和 column()。

const QAbstractItemModel *QPersistentModelIndex::model() const

返回索引所属的模型。

[since 6.0] void QPersistentModelIndex::multiData(QModelRoleDataSpan roleDataSpan) const

填充给定的 roleDataSpan,以提供给索引所指项的数据。

此函数是在 Qt 6.0 中引入的。

另见:Qt::ItemDataRoleQAbstractItemModel::setData

QModelIndex QPersistentModelIndex::parent() const

返回此持久索引的父级 QModelIndex,如果没有父级,则返回一个无效的 QModelIndex

另见:sibling() 和 model

int QPersistentModelIndex::row() const

返回此持久化模型索引所指的行。

QModelIndex QPersistentModelIndex::sibling(int row, int column) const

返回位于 rowcolumn 的兄弟索引,或者如果没有兄弟索引在此位置,则返回一个无效的 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.在芬兰以及其他国家和地区注册的商标。所有其他商标均为其各自所有者的财产。