函数#

qCompress(data[, compressionLevel=-1])#
参数:
返回类型:

QByteArray

压缩data字节数组,并将压缩后的数据返回到一个新的字节数组。

compressionLevel参数指定将使用多少压缩。有效值介于0到9之间,9表示最大压缩(即压缩后的数据较小),但代价是使用较慢的算法。较小的值(8、7、……、1)提供逐渐较少的压缩,但速度略快。值0表示完全不压缩。默认值为-1,它指定zlib的默认压缩。

另请参阅

qUncompress(const QByteArray &data)()

qCompress(data, nbytes[, compressionLevel=-1])
参数:
  • data – str

  • nbytes – int

  • compressionLevel – int

返回类型:

QByteArray

这是一个重载函数。

在压缩级别compressionLevel下压缩data的前nbytes,并将压缩后的数据返回到一个新的字节数组。

qFastCos(x)#
参数:

x – 浮点数

返回类型:

浮点数

自版本 4.6 起开始使用。

qFastSin(x)#
参数:

x – 浮点数

返回类型:

浮点数

自版本 4.6 起开始使用。

qFormatLogMessage(type, context, buf)#
参数:
返回类型:

字符串

根据 typecontextstr 参数生成一个格式化的字符串。

qFormatLogMessage 返回一个按照当前消息模式格式化的 QString,它可用于自定义消息处理程序来格式化输出,类似于 Qt 的默认消息处理程序。

函数是线程安全的。

qFuzzyCompare(p1, p2)#
参数:
  • p1 – 浮点数

  • p2 – 浮点数

返回类型:

布尔值

qFuzzyCompare(q1, q2)
参数:
返回类型:

布尔值

如果 q1q2 相等,允许对小数比较的模糊因子进行检查,则返回 true;否则返回 false

qFuzzyCompare(t1, t2)
参数:
返回类型:

布尔值

如果t1t2相等(允许浮点数的比较存在一小点模糊性),返回true;否则返回false。

qFuzzyIsNull(d)#
参数:

d – float

返回类型:

布尔值

自版本 4.6 起开始使用。

qIsFinite(d)#
参数:

d – float

返回类型:

布尔值

qIsInf(d)#
参数:

d – float

返回类型:

布尔值

qIsNaN(d)#
参数:

d – float

返回类型:

布尔值

qIsNull(d)#
参数:

d – float

返回类型:

布尔值

qSetMessagePattern(messagePattern)#
参数:

messagePattern – str

警告

本节包含自动从C++转换为Python的片段,可能存在错误。

修改默认消息处理程序的输出。

可以调整qDebug()qInfo()qWarning()qCritical()qFatal()的输出。格式化qCDebug()qCInfo()qCWarning()qCCritical()的日志输出分类。

支持以下占位符:

占位符

描述

%{appname}

applicationName()

%{category}

日志分类

%{file}

源文件路径

%{function}

函数

%{line}

源文件中的行

%{message}

实际消息

%{pid}

applicationPid()

%{threadid}

当前线程的系统ID(如果可以获得的话)

%{qthreadptr}

当前QThread的指针(currentThread()的返回结果)

%{type}

“debug”、“warning”、“critical”或“fatal”

%{time process}

消息的时间,自进程启动以来的秒数(标示符“进程”为直接引用)

%{time boot}

如果可以确定,消息的时间,自系统启动以来的秒数(标示符“启动”为直接引用)。如果无法获得自启动的时间,输出是不确定的(参见msecsSinceReference() )。

%{time [format]}

消息发生时的系统时间,通过将format传递给toString()进行格式化。如果没有指定格式,则使用ISODate的格式。

%{backtrace [depth=N] [separator="..."]}

带有指定由可选的depth参数的帧数(默认为5)的后 traceback,并通过可选的separator参数(默认为“|”)分离。

这种扩展仅在某些平台上可用(目前仅适用于使用glibc的平台)。只有导出的函数的名称是已知的。如果你想看到应用中每个函数的名称,请确保你的应用是用-rdynamic编译和链接的,或者等效的选项。

在读取backtrace时,请注意,由于内联或尾调用优化,某些帧可能缺失。

您还可以使用用于消息类型的条件判断,例如使用%{if-debug}%{if-info} %{if-warning}%{if-critical}%{if-fatal}后跟%{endif}。位于%{if-*}%{endif}内的文本只有在类型匹配时才会打印。

最后,只会在%{if-category}%{endif}内打印文本,如果类别不是默认类别。

示例

QT_MESSAGE_PATTERN="[%{time yyyyMMdd h:mm:ss.zzz t} %{if-debug}D%{endif}%{if-info}I%{endif}%{if-warning}W%{endif}%{if-critical}C%{endif}%{if-fatal}F%{endif}] %{file}:%{line} - %{message}"

默认的pattern%{if-category}%{category}: %{endif}%{message}

也可以通过设置QT_MESSAGE_PATTERN环境变量在运行时更改pattern;如果同时调用了qSetMessagePattern()并且设置了QT_MESSAGE_PATTERN,则环境变量具有优先权。

注意

对于占位符categoryfilefunctionline的信息,只在调试构建中记录。或者可以显式定义QT_MESSAGELOGCONTEXT。有关更多信息,请参阅QMessageLogContext文档。

注意

消息模式仅适用于未结构化日志,例如默认的stderr输出。结构化日志,如systemd,将按原样记录消息,并记录尽可能多的可以捕获的结构化信息。

自定义消息处理器可以使用 qFormatLogMessage() 函数来考虑 pattern

qUncompress(data, nbytes)#
参数:
  • data – str

  • nbytes – int

返回类型:

QByteArray

这是一个重载函数。

解压缩 data 的前 nbytes 个字节,并返回一个新的字节数组,其中包含解压缩后的数据。

qUncompress(data)
参数:

dataQByteArray

返回类型:

QByteArray

解压缩字节数组 data 并返回一个新的字节数组,其中包含解压缩后的数据。

如果输入数据已损坏,则返回一个空的 QByteArray

此函数将解压缩使用 qCompress() 功能压缩的数据,从 Qt 3.1 版本开始,直到此功能添加的 Qt 任何早期版本。

注意

如果想要使用此功能来解压缩使用 zlib 压缩的外部数据,首先需要将四个字节的长标题预置于包含数据的字节数组中。该标题必须包含未压缩数据预期的长度(以字节为单位),并以无符号、大端、32位整数的形式表示。这个数字只是表示输出缓冲区初始大小的提示。如果标识的长度不足以容纳结果,则输出缓冲区大小将仍然会增加,直到输出适合或系统用完内存。因此,尽管有32位标题,但在64位平台上,此函数可以产生超过4GiB的输出。

注意

在 Qt 6.5 版本之前的 Qt 版本中,超过 2GiB 的数据运行不稳定;在 Qt 6.0 版本之前的 Qt 版本中,则完全不工作。

另请参阅

qCompress()

qVersion()#
返回类型:

字符串

qtTrId(id[, n=-1])#
参数:
  • id – 字符串

  • n – 整数

返回类型:

字符串

自版本 4.6 起开始使用。

qDebug(arg__1)#
参数:

arg__1 – 字符串

qCritical(arg__1)#
参数:

arg__1 – 字符串

qFatal(arg__1)#
参数:

arg__1 – 字符串

qWarning(arg__1)#
参数:

arg__1 – 字符串

Q_ARG(type, value)#
参数:
  • type – 对象

  • value – 对象

返回类型:

QGenericArgumentHolder

此函数接受一个类型(或类型字符串)以及该类型的值,并返回一个可以传递给QMetaObject.invokeMethod()的内部对象。另请参阅Q_RETURN_ARG()。

Q_RETURN_ARG(type)#
参数:

type – 对象

返回类型:

QGenericReturnArgumentHolder

此宏接受一个类型(或类型字符串),然后通过QMetaObject::invokeMethod()返回其值。另请参阅Q_ARG()。

__init_feature__()#
qAbs(arg__1)#
参数:

arg__1 – float

返回类型:

浮点数

qAddPostRoutine(arg__1)#
参数:

arg__1 – 对象

__moduleShutdown()#
qInstallMessageHandler(arg__1)#
参数:

arg__1 – 对象

返回类型:

对象

SIGNAL(arg__1)#
参数:

arg__1 – 字符串

返回类型:

字符串

SLOT(arg__1)#
参数:

arg__1 – 字符串

返回类型:

字符串

QT_TR_NOOP(arg__1)#
参数:

arg__1 – 对象

返回类型:

对象

QT_TR_NOOP_UTF8(arg__1)#
参数:

arg__1 – 对象

返回类型:

对象

QT_TRANSLATE_NOOP(arg__1, arg__2)#
参数:
  • arg__1 – 对象

  • arg__2 – 对象

返回类型:

对象

QT_TRANSLATE_NOOP3(arg__1, arg__2, arg__3)#
参数:
  • arg__1 – 对象

  • arg__2 – 对象

  • arg__3 – 对象

返回类型:

对象

QT_TRANSLATE_NOOP_UTF8(arg__1)#
参数:

arg__1 – 对象

返回类型:

对象

qRegisterResourceData(arg__1, arg__2, arg__3, arg__4)#
参数:
  • arg__1 – int

  • arg__2PyBytes

  • arg__3PyBytes

  • arg__4PyBytes

返回类型:

布尔值

qUnregisterResourceData(arg__1, arg__2, arg__3, arg__4)#
参数:
  • arg__1 – int

  • arg__2PyBytes

  • arg__3PyBytes

  • arg__4PyBytes

返回类型:

布尔值

qCDebug(arg__1, arg__2)#
参数:
  • arg__1 – 对象

  • arg__2 – str

qCCritical(arg__1, arg__2)#
参数:
  • arg__1 – 对象

  • arg__2 – str

qCInfo(arg__1, arg__2)#
参数:
  • arg__1 – 对象

  • arg__2 – str

qCWarning(arg__1, arg__2)#
参数:
  • arg__1 – 对象

  • arg__2 – str

枚举#

class QCborKnownTags#

此枚举包含Qt实现时已知的CBOR标签列表。此列表并非完整,只包含由RFC支持或Qt实现特定期望使用的标签。

由IANA在实际的CBOR标签注册表中维护

常量

描述

QCborKnownTags.DateTimeString

日期和时间字符串,格式遵循RFC 3339,并通过RFC 4287进行优化。它与ISODateISODateWithMs具有相同格式。

QCborKnownTags.UnixTime_t

自1970-01-01T00:00Z以来经过的秒数的数值表示。

QCborKnownTags.PositiveBignum

任意长度的正数,以网络字节顺序编码的字节数组表示。例如,数字2^64由包含字节值0x01后跟8个零字节的字节数组表示。

QCborKnownTags.NegativeBignum

任意长度的负数,编码为该数的绝对值减一。例如,包含字节值0x02后跟8个零字节的字节数组表示数字-2^65 - 1。

QCborKnownTags.Decimal

十进制分数,以两个整数数组的形式编码:第一个是10的幂的指数,第二个是整数尾数。值273.15将被编码为数组 [-2, 27315]

QCborKnownTags.Bigfloat

与十进制相似,但指数是2的幂。

QCborKnownTags.COSE_Encrypt0

按照RFC 8152(CBOR对象签名和加密)指定的Encrypt0映射。

QCborKnownTags.COSE_Mac0

按照RFC 8152(CBOR对象签名和加密)指定的Mac0映射。

QCborKnownTags.COSE_Sign1

按照RFC 8152(CBOR对象签名和加密)指定的Sign1映射。

QCborKnownTags.ExpectedBase64url

表示如果流转换为JSON,字节数组应使用Base64url进行编码。

QCborKnownTags.ExpectedBase64

表示如果流转换为JSON,字节数组应使用Base64进行编码。

QCborKnownTags.ExpectedBase16

表示如果流转换为JSON,字节数组应使用Base16(十六进制)进行编码。

QCborKnownTags.EncodedCbor

表示字节数组包含CBOR流。

QCborKnownTags.Url

表示字符串包含URL。

QCborKnownTags.Base64url

表示字符串包含使用Base64url编码的数据。

QCborKnownTags.Base64

表示字符串包含使用Base64编码的数据。

QCborKnownTags.RegулярExpression

表示字符串包含一个Perl兼容的正则表达式模式。

QCborKnownTags.MimeMessage

表示字符串包含MIME消息(根据RFC 2045)。

QCborKnownTags.Uuid

表示字节数组包含UUID。

QCborKnownTags.COSE_Encrypt

按照RFC 8152(CBOR对象签名和加密)指定的Encrypt映射。

QCborKnownTags.COSE_Mac

按照RFC 8152(CBOR对象签名和加密)指定的Mac映射。

QCborKnownTags.COSE_Sign

按照RFC 8152(CBOR对象签名和加密)指定的Sign映射。

QCborKnownTags.Signature

在解释时没有变化;此标签可以作为CBOR流的外部标签用作文件头。

以下标签在解码时由QCborValue解释,并将产生扩展Qt类型的对象,并在编码相同扩展类型时使用这些标签。

常量

描述

QCborKnownTags.DateTimeString

QDateTime

QCborKnownTags.UnixTime_t

QDateTime(仅在解码时)

QCborKnownTags.Url

QUrl

QCborKnownTags.Uuid

QUuid

此外,如果一个包含QByteArrayQCborValue使用ExpectedBase64urlExpectedBase64ExpectedBase16之一进行标记,则QCborValue将在转换为JSON时使用期望的编码(见toJsonValue)。

另请参阅

QCborTag append(QCborTag) isTag() toTag() isTag() tag()

class QCborSimpleType#

此枚举包含CBOR可能存在的“简单类型”。简单类型范围从0到255,属于不携带额外值的类型。

以下是目前已知的值

常量

描述

QCborSimpleType.False

一个“假”布尔值。

QCborSimpleType.True

一个“真”布尔值。

QCborSimpleType.Null

值的缺失(null)。

QCborSimpleType.Undefined

缺失或删除的值,通常是一个错误。

Qt CBOR API支持对任何简单类型进行编码和解码,无论是上面提到的值或是任何其他值。

只有当相应的规范已发布时,应用程序才应使用进一步值,否则远程的解释和验证可能会失败。值24到31已被保留且不能使用。

当前权威列表由IANA维护,在简单值注册表 中。

另请参阅

append(QCborSimpleType) isSimpleType() toSimpleType() isSimpleType() toSimpleType()

class QCborTag#

警告

本节包含自动从C++转换为Python的片段,可能存在错误。

此枚举不包含枚举值,仅用于提供对CBOR标签的类型安全访问。

CBOR标签是64位数字,附加到通用CBOR类型上,提供更进一步的语义意义。QCborTag可以从QCborKnownTags 中找到的枚举或直接通过提供数字表示来构造。

例如,以下代码创建了一个包含带有标签2的字节列表的QCborValue

QCborValue(QCborTag(2), QByteArray("\x01\0\0\0\0\0\0\0\0", 9))

另请参阅

QCborKnownTags append(QCborTag) isTag() toTag() isTag() tag()

class QtMsgType#

这个枚举描述了可以发送给消息处理器(QtMessageHandler)的消息。您可以使用枚举来识别和关联各种消息类型以及相应的操作。

常量

描述

QtDebugMsg

qDebug()函数生成的消息。

QtInfoMsg

qInfo()函数生成的消息。

QtWarningMsg

qWarning()函数生成的消息。

QtCriticalMsg

qCritical()函数生成的消息。

QtFatalMsg

qFatal()函数生成的消息。

QtInfoMsg自Qt 5.5版开始添加。

另请参阅

QtMessageHandler qInstallMessageHandler()