PySide6.QtCore.QCborArray

class QCborArray

QCborArray 类用于保存 CBOR 元素的数组。更多

概要

方法

静态函数

注意

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

详细描述

该类可用于在CBOR(一种数组)中保存一个顺序容器。CBOR是简洁二进制对象表示法,是一种非常紧凑的二进制数据编码形式,是JSON的超集。它由IETF受限RESTful环境(CoRE)工作组创建,并在许多新的RFC中使用。它旨在与CoAP协议一起使用。

QCborArrayQVariantListQJsonArray 非常相似,其 API 几乎与这两个类相同。它也可以与这两个类相互转换,尽管在某些转换中可能会丢失信息。

另请参阅

QCborValue QCborMap QJsonArray QList 解析和显示CBOR数据 序列化转换器 保存和加载游戏

__init__()

构造一个空的 QCborArray

__init__(other)
Parameters:

其他QCborArray

other的内容复制到此对象中。

append(value)
Parameters:

QCborValue

at(i)
Parameters:

i – 整数

Return type:

QCborValue

返回数组中位置 i 处的 QCborValue 元素。

如果数组小于 i 个元素,此函数将返回一个包含未定义值的 QCborValue。因此,无法通过此函数区分数组不够大的情况与数组以未定义值开始的情况。

clear()

清空此数组。

另请参阅

isEmpty()

compare(other)
Parameters:

其他QCborArray

Return type:

整数

比较此数组和other,依次比较每个元素,并返回一个整数,指示此数组是否应在other之前(如果结果为负)或之后(如果结果为正)排序。如果此函数返回0,则两个数组相等并包含相同的元素。

有关CBOR排序顺序的更多信息,请参见compare()

另请参阅

compare() compare() operator==()

contains(value)
Parameters:

QCborValue

Return type:

布尔

如果此数组包含等于value的元素,则返回true。

empty()
Return type:

布尔

isEmpty() 的同义词。此函数是为了与使用标准库 API 的通用代码兼容而提供的。

如果此数组为空(size() == 0),则返回 true。

另请参阅

isEmpty() size()

first()
Return type:

QCborValue

返回此数组的第一个QCborValue

如果数组为空,此函数返回一个包含未定义值的QCborValue。因此,无法通过此函数区分数组不够大的情况与数组以未定义值结尾的情况。

static fromJsonArray(array)
Parameters:

数组QJsonArray

Return type:

QCborArray

array数组中找到的所有JSON项使用QCborValue::fromJson()转换为CBOR,并返回由这些元素组成的CBOR数组。

这种转换是无损的,因为CBOR类型系统是JSON的超集。此外,通过使用toJsonArray(),此函数返回的数组可以转换回原始的array

static fromStringList(list)
Parameters:

list – 字符串列表

Return type:

QCborArray

返回一个包含在list列表中找到的所有字符串的QCborArray

static fromVariantList(list)
Parameters:

list – QVariant 的列表

Return type:

QCborArray

list中的所有项目使用fromVariant()转换为CBOR,并返回由这些元素组成的数组。

QVariant的转换并非完全无损。更多信息请参阅fromVariant()中的文档。

insert(i, value)
Parameters:
isEmpty()
Return type:

布尔

如果这个QCborArray为空(即如果size()为0),则返回true。

另请参阅

size() clear()

last()
Return type:

QCborValue

返回此数组的最后一个QCborValue

如果数组为空,此函数返回一个包含未定义值的QCborValue。因此,无法通过此函数区分数组不够大的情况与数组以未定义值结尾的情况。

__ne__(rhs)
Parameters:

rhsQCborArray

Return type:

布尔

比较lhsrhs数组,依次比较每个元素,如果两个数组的内容不同则返回true,否则返回false。

有关Qt中CBOR相等的更多信息,请参见compare()

另请参阅

compare() operator==() operator==() operator==() operator

__ne__(rhs)
Parameters:

rhsQCborValue

Return type:

布尔

__add__(v)
Parameters:

vQCborValue

Return type:

QCborArray

返回一个新的QCborArray,包含与此数组相同的元素,并将v作为最后一个元素附加。

另请参阅

operator+=() operator append()

__iadd__(v)
Parameters:

vQCborValue

Return type:

QCborArray

v 附加到此数组并返回对此数组的引用。

另请参阅

append() insert() operator+() operator

__lt__(rhs)
Parameters:

rhsQCborArray

Return type:

布尔

比较 lhsrhs 数组,依次比较每个元素,如果 lhs 数组应该在 rhs 之前排序,则返回 true,否则返回 false。

有关CBOR排序顺序的更多信息,请参见compare()

另请参阅

compare() operator==() operator==() operator==() operator!=() operator

__lt__(rhs)
Parameters:

rhsQCborValue

Return type:

布尔

__lshift__(v)
Parameters:

vQCborValue

Return type:

QCborArray

v 附加到此数组并返回对此数组的引用。

另请参阅

append() insert() operator+() operator+=()

__le__(rhs)
Parameters:

rhsQCborArray

Return type:

布尔

比较 lhsrhs 数组,依次比较每个元素,如果 lhs 数组应该在 rhs 之前排序,或者如果两个数组包含相同的元素,则返回 true,否则返回 false。

有关CBOR排序顺序的更多信息,请参见compare()

另请参阅

compare() operator==() operator==() operator==() operator!=() operator

__le__(rhs)
Parameters:

rhsQCborValue

Return type:

布尔

__eq__(rhs)
Parameters:

rhsQCborArray

Return type:

布尔

比较 lhsrhs 数组,依次比较每个元素,如果两个数组包含相同的元素则返回 true,否则返回 false。

有关Qt中CBOR相等的更多信息,请参见compare()

另请参阅

compare() operator==() operator==() operator!=() operator

__eq__(rhs)
Parameters:

rhsQCborValue

Return type:

布尔

__gt__(rhs)
Parameters:

rhsQCborArray

Return type:

布尔

比较lhsrhs数组,依次比较每个元素,如果lhs数组应该在rhs之后排序,则返回true,否则返回false。

有关CBOR排序顺序的更多信息,请参见compare()

另请参阅

compare() operator==() operator==() operator==() operator!=() operator>=()

__gt__(rhs)
Parameters:

rhsQCborValue

Return type:

布尔

__ge__(rhs)
Parameters:

rhsQCborArray

Return type:

布尔

比较lhsrhs数组,依次比较每个元素,如果lhs数组应该在rhs之后排序,或者如果两个数组包含相同的元素,则返回true,否则返回false。

有关CBOR排序顺序的更多信息,请参见compare()

另请参阅

compare() operator==() operator==() operator==() operator!=() operator>()

__ge__(rhs)
Parameters:

rhsQCborValue

Return type:

布尔

operator(i)
Parameters:

i – 整数

Return type:

QCborValue

返回数组中位置 i 处的 QCborValue 元素。

如果数组小于i个元素,此函数将返回一个包含未定义值的QCborValue。因此,无法通过此函数区分数组不够大的情况与数组在位置i包含未定义值的情况。

pop_back()

removeLast() 的同义词。此函数是为了与使用标准库API的通用代码兼容而提供的。

移除数组的最后一个元素。在移除之前,数组必须不为空。

pop_front()

removeFirst() 的同义词。此函数是为了与使用标准库API的通用代码兼容而提供的。

移除数组的第一个元素。在移除之前,数组必须不为空。

prepend(value)
Parameters:

QCborValue

push_back(t)
Parameters:

tQCborValue

append() 的同义词。此函数是为了与使用标准库API的通用代码兼容而提供的。

将元素 t 添加到这个数组中。

push_front(t)
Parameters:

tQCborValue

prepend() 的同义词。此函数是为了与使用标准库API的通用代码兼容而提供的。

将元素 t 添加到这个数组的前面。

removeAt(i)
Parameters:

i – 整数

从数组中移除位置 i 处的项目。在移除之前,数组必须拥有超过 i 个元素。

removeFirst()

移除数组中的第一个元素,使第二个元素成为第一个。在调用此操作之前,数组不能为空。

removeLast()

移除数组中的最后一项。在调用此操作之前,数组必须不为空。

size()
Return type:

整数

返回此数组的大小。

另请参阅

isEmpty()

swap(other)
Parameters:

其他QCborArray

交换此对象和other的内容。

takeAt(i)
Parameters:

i – 整数

Return type:

QCborValue

从数组中移除位置 i 处的项目并返回它。数组在移除前必须拥有超过 i 个元素。

takeFirst()
Return type:

QCborValue

移除数组中的第一个元素并返回它,使第二个元素成为第一个。在调用此方法之前,数组不能为空。

takeLast()
Return type:

QCborValue

移除数组中的最后一个元素并返回它。在调用此方法之前,数组必须不为空。

toCborValue()
Return type:

QCborValue

显式构造一个表示此数组的QCborValue对象。通常不需要此函数,因为QCborValue有一个用于QCborArray的构造函数,因此转换是隐式的。

QCborArray转换为QCborValue允许它在任何可以使用QCborValue的上下文中使用,包括作为QCborArrays中的项目以及作为QCborMap中的键和映射类型。将数组转换为QCborValue允许访问toCbor()

另请参阅

QCborValue(const QCborArray &)

toJsonArray()
Return type:

QJsonArray

递归地将此数组中的每个QCborValue元素转换为JSON,使用toJsonValue(),并返回由这些元素组成的相应QJsonArray

请注意,CBOR 包含比 JSON 更丰富和广泛的类型集,因此在此转换过程中可能会丢失一些信息。有关应用了哪些转换的更多详细信息,请参阅 toJsonValue()

toVariantList()
Return type:

.QVariant 列表

递归地将此数组中的每个QCborValue使用toVariant()进行转换,并返回由转换后的项组成的QVariantList

转换为QVariant并不是完全无损的。更多信息请参见toVariant()中的文档。