- 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
指针。- data([role=Qt.DisplayRole])#
- 参数::
role – int
- 返回类型::
对象
返回索引所引用的条目对应的给定
role
的数据。返回由索引指针引用的项的标志。
- internalId()#
- 返回类型::
quintptr
返回一个由模型用来将索引与内部数据结构关联的 quintptr。
- internalPointer()#
- 返回类型::
void
返回一个由模型用来将索引与内部数据结构关联的 void指针。
- isValid()#
- 返回类型::
bool
如果此模型索引有效,返回true;否则返回false。
一个有效的索引属于一个模型,并且拥有非负的行和列号。
- model()#
- 返回类型::
返回指向包含此索引引用的项的模型的指针。
返回模型的常量指针,因为调用模型的非const函数可能会使模型索引无效,并可能导致您的应用程序崩溃。
- __ne__(other)#
- 参数::
other –
QModelIndex
- 返回类型::
bool
如果此模型索引不指向与
other
模型索引相同的地址,返回true;否则返回false。- __lt__(other)#
- 参数::
other –
QModelIndex
- 返回类型::
bool
如果此模型索引小于其他模型索引,返回true;否则返回false。
小于比较对开发者来说没有直接用途 - 定义了索引与不同父项比较的方式。此操作符仅存在,以便该类可以与
QMap
一起使用。- __eq__(other)#
- 参数::
other –
QModelIndex
- 返回类型::
bool
如果此模型索引指向与
other
模型索引相同的位置,则返回true
;否则返回false
。比较另一个模型索引时,使用内部数据指针、行、列和模型值。
- parent()#
- 返回类型::
返回模型索引的父级,如果没有父级,则返回
QModelIndex()
。- row()#
- 返回类型::
int
返回此模型索引所引用的行。
- sibling(row, column)#
- 参数::
row – int
column – int
- 返回类型::
返回位于
row
和column
的兄弟项。如果此位置没有兄弟项,则返回一个无效的QModelIndex
。- siblingAtColumn(column)#
- 参数::
column – int
- 返回类型::
返回当前行的
column
处的兄弟项。如果此位置没有兄弟项,则返回一个无效的QModelIndex
。- siblingAtRow(row)#
- 参数::
row – int
- 返回类型::
返回当前列的
row
处的兄弟项。如果此位置没有兄弟项,则返回一个无效的QModelIndex
。