class QItemSelection#

QItemSelection 类管理模型中选定项目的信息。 更多

概述#

方法#

静态函数#

注意:

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

详细描述#

警告:

本节包含从 C++ 自动翻译到 Python 的片段,可能包含错误。

QItemSelection 对象描述了用户选中模型中的项。一个 QItemSelection 对象基本上是一个选择范围的列表,请参阅 QItemSelectionRange 。它提供用于创建和操作选择以及从模型中选择一系列项的功能。

QItemSelection 类是模型/视图类之一,它是 Qt 的模型/视图框架的一部分。

可以使用现有模型中的项目范围来构造和初始化项目选择。以下示例创建一个选择,该选择从给定的模型开始于 topLeft,结束于 bottomRight 的项目范围。

selection = QItemSelection(topLeft, bottomRight)

可以构造一个空的项选择,然后在需要时进行填充。因此,如果当构造项选择时模型不可用,我们可以按以下方式重写上述代码

selection = QItemSelection()
...
selection.select(topLeft, bottomRight)

QItemSelection 通过与选择范围一起工作来节省内存,并避免不必要的操作,而不是记录每个选中项的模型项索引。通常,此类的一个实例将包含一系列非重叠选择范围。

使用 merge() 将一个项选择合并到另一个选择而不创建重叠范围。使用 split() 根据另一个选择范围将一个选择范围分割成更小的范围。

另请参阅

QItemSelectionModel

__init__(左上角,右下角)#
参数:

根据指定的topLeft索引创建一个从左上角模型项开始到右下角模型项的项选择。

__init__()

创建一个空的项选择。

append(l)#
参数:

l – .list of QItemSelectionRange

append(arg__1)
参数:

arg__1QItemSelectionRange

at(i)#
参数:

i – int

返回类型:

QItemSelectionRange

back()#
返回类型:

QItemSelectionRange

capacity()#
返回类型:

int

clear()#
constData()#
返回类型:

QItemSelectionRange

constFirst()#
返回类型:

QItemSelectionRange

constLast()#
返回类型:

QItemSelectionRange

contains(index)#
参数:

indexQModelIndex

返回类型:

bool

返回true如果选择包含指定的index;否则返回false

count()#
返回类型:

int

data()#
返回类型:

QItemSelectionRange

empty()#
返回类型:

bool

first()#
返回类型:

QItemSelectionRange

first(n)
参数:

n – int

返回类型:

QItemSelectionRange 列表

static fromList(list)#
参数:

list – QItemSelectionRange 列表

返回类型:

QItemSelectionRange 列表

static fromVector(vector)#
参数:

vector – QItemSelectionRange 列表

返回类型:

QItemSelectionRange 列表

front()#
返回类型:

QItemSelectionRange

indexes()#
返回类型:

QModelIndex 列表

返回与所选项目相对应的模型索引列表。

insert(arg__1, arg__2)#
参数:
isEmpty()#
返回类型:

bool

isSharedWith(other)#
参数:

other – QItemSelectionRange 列表

返回类型:

bool

last()#
返回类型:

QItemSelectionRange

last(n)
参数:

n – int

返回类型:

QItemSelectionRange 列表

length()#
返回类型:

int

merge(other, command)#
参数:

使用给定的命令将 other 选择与这个 QItemSelection 合并。此方法保证没有任何范围重叠。

请注意,只支持 SelectDeselectToggle

另请参阅

split()

mid(pos[, len=-1])#
参数:
  • pos – int

  • len – int

返回类型:

QItemSelectionRange 列表

move(from, to)#
参数:
  • from – int

  • to – int

__ne__(arg__1)#
参数:

arg__1QItemSelection

返回类型:

bool

__add__(arg__1)#
参数:

arg__1QItemSelection

返回类型:

QItemSelection

__iadd__(l)#
参数:

l – .list of QItemSelectionRange

返回类型:

QItemSelectionRange 列表

__lshift__(l)#
参数:

l – .list of QItemSelectionRange

返回类型:

QItemSelectionRange 列表

__eq__(arg__1)#
参数:

arg__1QItemSelection

返回类型:

bool

operator(i)#
参数:

i – int

返回类型:

QItemSelectionRange

pop_back()#
pop_front()#
prepend(arg__1)#
参数:

arg__1QItemSelectionRange

push_back(arg__1)#
参数:

arg__1QItemSelectionRange

push_front(arg__1)#
参数:

arg__1QItemSelectionRange

remove(i[, n=1])#
参数:
  • i – int

  • n – int

removeAll(arg__1)#
参数:

arg__1QItemSelectionRange

removeAt(i)#
参数:

i – int

removeFirst()#
removeLast()#
removeOne(arg__1)#
参数:

arg__1QItemSelectionRange

reserve(size)#
参数:

size – int

resize(size)#
参数:

size – int

select(topLeft, bottomRight)#
参数:

将自顶部左侧模型项(通过topLeft索引指定)到右侧底部项(通过bottomRight指定)的范围内项添加到列表中。

注意:

topLeftbottomRight必须具有相同的父项。

shrink_to_fit()#
size()#
返回类型:

int

sliced(pos)#
参数:

pos – int

返回类型:

QItemSelectionRange 列表

sliced(pos, n)
参数:
  • pos – int

  • n – int

返回类型:

QItemSelectionRange 列表

静态 split(range, other, result)#
参数:

使用选择范围 other 将选择范围 range 切分。将 other 中的所有项从 range 中移除,并将结果放入 result 中。这可以与集合的 减法 运算的语义进行比较。

另请参阅

merge()

squeeze()#
swap(other)#
参数:

other – QItemSelectionRange 列表

swapItemsAt(i, j)#
参数:
  • i – int

  • j – int

takeAt(i)#
参数:

i – int

返回类型:

QItemSelectionRange

toList()#
返回类型:

QItemSelectionRange 列表

toVector()#
返回类型:

QItemSelectionRange 列表

value(i)#
参数:

i – int

返回类型:

QItemSelectionRange