- class QItemSelectionModel#
QItemSelectionModel
类跟踪视图中的选中项。更多…概述#
属性#
方法#
def
__init__()
def
currentIndex()
def
hasSelection()
def
isRowSelected()
def
isSelected()
def
model()
定义
selection()
定义
setModel()
虚方法#
插槽#
信号#
注意
此文档可能包含自动从 C++ 转换为 Python 的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告诉我们
详细描述#
QItemSelectionModel
用于跟踪视图中的选中项,或者在同一模型上的多个视图中的选中项。它还跟踪视图中的当前选中项。QItemSelectionModel
是模型/视图类之一,是 Qt 模型/视图框架的一部分。选中的项使用范围进行存储。当您想修改选中项时,请使用
select()
并提供QItemSelection
或QModelIndex
以及SelectionFlag
。QItemSelectionModel
在选择管理方面采用了两层方法,处理已提交的选中项以及当前选择中的项。当前选中的项是当前交互式选择的一部分(例如,使用橡皮筋选择或键盘 Shift 选择)。要更新当前选中的项,请使用
Current
和任何其他SelectionFlags
的按位或。如果您省略了Current
命令,则将创建一个新的当前选择,并将上一个选择添加到整个选择中。所有功能都操作在这两层上;例如,selecteditems() 将返回这两层上的项。- class SelectionFlag#
(继承
enum.Flag
) 这个枚举描述了选择模型将如何更新。常量
描述
QItemSelectionModel.NoUpdate
不会进行选择。
QItemSelectionModel.Clear
将清除完整的选择。
QItemSelectionModel.Select
将选择所有指定索引。
QItemSelectionModel.Deselect
将取消选择所有指定索引。
QItemSelectionModel.Toggle
将根据其当前状态选择或取消选择所有指定索引。
QItemSelectionModel.Current
将更新当前选择。
QItemSelectionModel.Rows
将展开所有索引以跨越行。
QItemSelectionModel.Columns
将展开所有索引以跨越列。
QItemSelectionModel.SelectCurrent
为方便起见,提供了 Select 和 Current 的组合。
QItemSelectionModel.ToggleCurrent
为便利提供 Toggle 和 Current 的组合。
QItemSelectionModel.ClearAndSelect
为便利提供 Clear 和 Select 的组合。
注意
使用
from __feature__ import true_property
或其他访问器函数直接使用属性时可以。- property currentIndexᅟ: QModelIndex#
- 访问函数
- property hasSelectionᅟ: bool#
- 访问函数
- property modelᅟ: QAbstractItemModel#
- 访问函数
- property selectedIndexesᅟ: list of QModelIndex#
- 访问函数
- property selectionᅟ: QItemSelection#
- 访问函数
- __init__(model, parent)#
- 参数:
model –
QAbstractItemModel
parent –
QObject
根据指定的项
model
和parent
创建一个选择模型。- __init__([model=None])
- 参数:
model –
QAbstractItemModel
根据指定的项
model
创建一个选择模型。- clear()#
清除选择模型。触发
selectionChanged()
和currentChanged()
。- clearCurrentIndex()#
清除当前位置。触发
currentChanged()
。- clearSelection()#
清除选择模型中的选择。触发
selectionChanged()
。- columnIntersectsSelection(column[, parent=QModelIndex()])#
- 参数:
column – int
parent –
QModelIndex
- 返回类型::
bool
如果给定
parent
的column
中有已选项目,返回true
。注意
从 Qt 5.15 开始,
parent
的默认参数为空模型索引。- currentChanged(current, previous)#
- 参数:
current –
QModelIndex
previous –
QModelIndex
每次当前项目更改时,都会发出该信号。作为选择当前项目,使用
current
模型索引项替换previous
模型项索引。请注意,当项目模型重置时,该信号不会发出。
属性
currentIndex
的通知信号。- currentColumnChanged(current, previous)#
- 参数:
current –
QModelIndex
previous –
QModelIndex
当当前项目发生变化且其列与上一个当前项目的列不同时,会发出此信号。
请注意,当项目模型重置时,该信号不会发出。
请参阅
- currentIndex()#
- 返回类型::
返回当前项目的模型项索引,如果没有当前项目则返回一个无效索引。
currentIndex属性获取器。
- currentRowChanged(current, previous)#
- 参数:
current –
QModelIndex
previous –
QModelIndex
当前项目发生变化且其行与上一个当前项目的行不同时,会发出此信号。
请注意,当项目模型重置时,该信号不会发出。
请参阅
- emitSelectionChanged(newSelection, oldSelection)#
- 参数:
newSelection –
QItemSelection
oldSelection –
QItemSelection
比较两个选择
newSelection
和oldSelection
并使用取消选中项和选中项发出selectionChanged()
。- hasSelection()#
- 返回类型::
bool
如果选择模型包含任何已选项目,则返回
true
,否则返回false
。属性
hasSelectionᅟ
的获取器。- isColumnSelected(column[, parent=QModelIndex()])#
- 参数:
column – int
parent –
QModelIndex
- 返回类型::
bool
如果给定
parent
的column
中的所有项都已被选中,则返回true
。请注意,此函数通常比在相同列中的所有项目中调用
isSelected()
更快,且不可选项目将被忽略。注意
从 Qt 5.15 开始,
parent
的默认参数为空模型索引。- isRowSelected(row[, parent=QModelIndex()])#
- 参数:
row – int
parent –
QModelIndex
- 返回类型::
bool
如果给定
parent
的row
中的所有项都被选中,则返回true
。请注意,此函数通常比在相同行中的所有项目中调用
isSelected()
更快,且不可选项目将被忽略。注意
从 Qt 5.15 开始,
parent
的默认参数为空模型索引。- isSelected(index)#
- 参数:
index –
QModelIndex
- 返回类型::
bool
如果给定的模型项
index
被选中,则返回true
。- model()#
- 返回类型::
返回选择模型操作的对象模型。
请参阅
属性
modelᅟ
的获取器。- modelChanged(model)#
- 参数:
model –
QAbstractItemModel
当使用
setModel()
成功设置model
时,会发出此信号。请参阅
属性
model
的通知信号。- reset()#
清除选择模型。不发出任何信号。
- rowIntersectsSelection(row[, parent=QModelIndex()])#
- 参数:
row – int
parent –
QModelIndex
- 返回类型::
bool
如果给定的父项中行
row
有任何选中的项,则返回true
。注意
从 Qt 5.15 开始,
parent
的默认参数为空模型索引。- select(selection, command)#
- 参数:
selection –
QItemSelection
command –
SelectionFlag
の組み合わせ
使用指定的命令选择项
selection
,并发出selectionChanged
。请参阅
- select(index, command)
- 参数:
index –
QModelIndex
command –
SelectionFlag
の組み合わせ
使用指定的命令选择模型项
index
,并发出selectionChanged
。请参阅
SelectionFlags
- selectedColumns([row=0])#
- 参数:
row – int
- 返回类型::
QModelIndexのリスト
返回在给定
row
中对于所有行都选中的列的索引。请参阅
- selectedIndexes()#
- 返回类型::
QModelIndexのリスト
返回所有选定的模型项索引的列表。列表中无重复项且未排序。
属性
selectedIndexes
的获取器。- selectedRows([column=0])#
- 参数:
column – int
- 返回类型::
QModelIndexのリスト
返回给定
column
中所有列均被选中的行的索引。- selection()#
- 返回类型::
返回存储在选择模型中的选择范围。
属性
selectionᅟ
的获取器。- selectionChanged(selected, deselected)#
- 参数:
selected –
QItemSelection
deselected –
QItemSelection
每当选择发生变化时,都会发出此信号。选择变化表示为
deselected
项目的项目选择和selected
项目的项目选择。请注意,当前索引是独立于选择变化的。此外,当项目模型重置时,此信号不会发出。
保持在选中状态但更改其索引的项目不包括在
selected
和deselected
中。因此,如果只有选项目的索引更改,则可能会带有空selected
和deselected
的信号发出。属性
hasSelectionᅟ
的通知信号。- setCurrentIndex(index, command)#
- 参数:
index –
QModelIndex
command –
SelectionFlag
の組み合わせ
将模型项目
index
设置为当前项目,并发出currentChanged()
。当前项目用于键盘导航和焦点指示;它不依赖于任何选中项目,尽管选中项目也可以是当前项目。根据指定的
命令
,索引
也可以成为当前选择的一部分。- setModel(model)#
- 参数:
model –
QAbstractItemModel
设置模型为
model
。将发出modelChanged()
信号。属性
model
的设置器。