class QModelIndex#

用于在数据模型中定位数据的QModelIndex类。

概要

方法

注意

此文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建票据来通知我们。

详细描述#

此类用于从QAbstractItemModel派生的项目模型中索引。该索引由项目视图、代理和选择模型用于在模型中定位项目。

新的QModelIndex对象由模型使用createIndex()函数创建。可以使用QModelIndex构造函数构建一个无效的模型索引。无效索引通常用作顶级项目时引用父索引。

模型索引指模型中的项,并包含指定它们的模型位置所需的所有信息。每个索引位于特定的行和列,可能有一个父索引;使用row()column()parent()获取这些信息。模型中的每个顶级项目都由一个没有父索引的模型索引表示 - 在这种情况下,parent()将返回一个无效的模型索引,相当于使用零参数形式的QModelIndex()构造函数构建的索引。

要获取指向模型中现有条目的模型索引,请调用使用所需行和列值以及父级模型索引的 index()。在引用模型中的顶级条目时,将 QModelIndex() 作为父级索引提供。

model() 函数返回索引所引用的 QAbstractItemModel 模型。使用 child() 函数检验模型中索引下的条目。使用 sibling() 函数可以遍历与索引同级的模型条目。

注意

应立即使用模型索引并丢弃。在调用会改变模型结构或删除条目的模型函数后,不应依赖索引保持有效性。如需在一段时间内保持模型索引,请使用 QPersistentModelIndex

__init__()#

创建一个新的空模型索引。此类型模型索引用于指示模型中的位置无效。

column()#
返回类型::

int

返回该模型索引所引用的列。

constInternalPointer()#
返回类型::

void

返回由模型用于将索引与其内部数据结构关联的 const void 指针。

参见

createIndex()

data([role=Qt.DisplayRole])#
参数::

role – int

返回类型::

对象

返回索引所引用的条目对应的给定 role 的数据。

flags()#
返回类型::

组合 ItemFlag

返回由索引指针引用的项的标志。

internalId()#
返回类型::

quintptr

返回一个由模型用来将索引与内部数据结构关联的 quintptr。

参见

createIndex()

internalPointer()#
返回类型::

void

返回一个由模型用来将索引与内部数据结构关联的 void指针。

参见

createIndex()

isValid()#
返回类型::

bool

如果此模型索引有效,返回true;否则返回false。

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

model()#
返回类型::

QAbstractItemModel

返回指向包含此索引引用的项的模型的指针。

返回模型的常量指针,因为调用模型的非const函数可能会使模型索引无效,并可能导致您的应用程序崩溃。

__ne__(other)#
参数::

otherQModelIndex

返回类型::

bool

如果此模型索引不指向与 other 模型索引相同的地址,返回true;否则返回false。

__lt__(other)#
参数::

otherQModelIndex

返回类型::

bool

如果此模型索引小于其他模型索引,返回true;否则返回false。

小于比较对开发者来说没有直接用途 - 定义了索引与不同父项比较的方式。此操作符仅存在,以便该类可以与 QMap 一起使用。

__eq__(other)#
参数::

otherQModelIndex

返回类型::

bool

如果此模型索引指向与 other 模型索引相同的位置,则返回 true;否则返回 false

比较另一个模型索引时,使用内部数据指针、行、列和模型值。

parent()#
返回类型::

QModelIndex

返回模型索引的父级,如果没有父级,则返回 QModelIndex()

row()#
返回类型::

int

返回此模型索引所引用的行。

sibling(row, column)#
参数::
  • row – int

  • column – int

返回类型::

QModelIndex

返回位于 rowcolumn 的兄弟项。如果此位置没有兄弟项,则返回一个无效的 QModelIndex

siblingAtColumn(column)#
参数::

column – int

返回类型::

QModelIndex

返回当前行的 column 处的兄弟项。如果此位置没有兄弟项,则返回一个无效的 QModelIndex

siblingAtRow(row)#
参数::

row – int

返回类型::

QModelIndex

返回当前列的 row 处的兄弟项。如果此位置没有兄弟项,则返回一个无效的 QModelIndex