函数

qCompress(data[, compressionLevel=-1])
Parameters:
Return type:

QByteArray

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

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

另请参阅

qUncompress(const QByteArray &data)()

qCompress(data, nbytes[, compressionLevel=-1])
Parameters:
  • data – 字符串

  • nbytes – int

  • compressionLevel – int

Return type:

QByteArray

这是一个重载函数。

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

qFastCos(x)
Parameters:

x – 浮点数

Return type:

浮点数

在版本4.6中添加。

qFastSin(x)
Parameters:

x – 浮点数

Return type:

浮点数

在版本4.6中添加。

qFormatLogMessage(type, context, buf)
Parameters:
Return type:

字符串

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

qFormatLogMessage 返回一个根据当前消息模式格式化的 QString。它可以被自定义消息处理器使用,以格式化类似于 Qt 默认消息处理器的输出。

该函数是线程安全的。

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

  • p2 – 浮点数

Return type:

布尔

qFuzzyCompare(q1, q2)
Parameters:
Return type:

布尔

qFuzzyCompare(t1, t2)
Parameters:
Return type:

布尔

qFuzzyIsNull(d)
Parameters:

d – 浮点数

Return type:

布尔

在版本4.6中添加。

qIsFinite(d)
Parameters:

d – 浮点数

Return type:

布尔

qIsInf(d)
Parameters:

d – 浮点数

Return type:

布尔

qIsNaN(d)
Parameters:

d – 浮点数

Return type:

布尔

qIsNull(d)
Parameters:

d – 浮点数

Return type:

布尔

qSetMessagePattern(messagePattern)
Parameters:

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}

“调试”, “警告”, “严重” 或 “致命”

%{time process}

消息的时间,以进程启动后的秒数表示(“process”是字面意思)

%{time boot}

消息的时间,如果可以确定,则为自系统启动以来的秒数(“boot”标记是字面意思)。如果无法获取自启动以来的时间,则输出不确定(参见msecsSinceReference())。

%{time [format]}

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

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

一个回溯,帧数由可选的depth参数指定(默认为5),并由可选的separator参数分隔(默认为“|”)。

此扩展仅在部分平台上可用:

  • 使用glibc的平台;

  • 提供C++23的头文件的平台(需要在C++23模式下编译Qt)。

根据平台的不同,此扩展打印的函数名称可能有一些限制。

在某些平台上,仅知道导出函数的名称。如果您希望看到应用程序中每个函数的名称,请确保您的应用程序使用-rdynamic或其等效项进行编译和链接。

在阅读回溯时,请注意由于内联或尾调用优化,可能会缺少一些帧。

你也可以使用条件语句来判断消息的类型,使用 %{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}

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

注意

占位符categoryfilefunctionline的信息仅在调试版本中记录。或者,可以显式定义QT_MESSAGELOGCONTEXT。更多信息请参阅QMessageLogContext文档。

注意

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

自定义消息处理程序可以使用qFormatLogMessage()来考虑pattern

qUncompress(data, nbytes)
Parameters:
  • data – 字符串

  • nbytes – int

Return type:

QByteArray

这是一个重载函数。

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

qUncompress(data)
Parameters:

数据QByteArray

Return type:

QByteArray

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

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

此函数将解压缩使用qCompress()压缩的数据,从当前及更早的Qt版本,回溯到Qt 3.1,当时此功能被添加。

注意

如果你想使用这个函数来解压缩使用zlib压缩的外部数据,你首先需要在包含数据的字节数组前添加一个四字节的头部。头部必须包含未压缩数据的预期长度(以字节为单位),表示为无符号、大端序的32位整数。不过,这个数字只是输出缓冲区初始大小的提示。如果指示的大小太小而无法容纳结果,输出缓冲区的大小仍会增加,直到输出适合或系统内存耗尽。因此,尽管有32位的头部,这个函数在64位平台上可以产生超过4GiB的输出。

注意

在Qt 6.5之前的版本中,超过2GiB的数据处理不可靠;在Qt 6.0之前的版本中,根本无法处理。

另请参阅

qCompress()

qVersion()
Return type:

字符串

qtTrId(id[, n=-1])
Parameters:
  • id – str

  • n – 整数

Return type:

字符串

在版本4.6中添加。

qDebug(message)
Parameters:

消息 – str

qCritical(message)
Parameters:

消息 – str

qFatal(message)
Parameters:

消息 – str

qInfo(message)
Parameters:

消息 – str

qWarning(message)
Parameters:

消息 – str

Q_ARG(type, value)
Parameters:
  • type – 对象

  • value – 对象

Return type:

QGenericArgumentHolder

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

Q_RETURN_ARG(type)
Parameters:

类型 – 对象

Return type:

QGenericReturnArgumentHolder

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

__init_feature__()
qAbs(arg__1)
Parameters:

arg__1 – 浮点数

Return type:

浮点数

qAddPostRoutine(callable)
Parameters:

callable – 对象

__moduleShutdown()
qInstallMessageHandler(callable)
Parameters:

callable – 对象

Return type:

对象

SIGNAL(signature)
Parameters:

signature – str

Return type:

字符串

SLOT(signature)
Parameters:

signature – str

Return type:

字符串

QT_TR_NOOP(message)
Parameters:

消息 – 对象

Return type:

对象

QT_TR_NOOP_UTF8(message)
Parameters:

消息 – 对象

Return type:

对象

QT_TRANSLATE_NOOP(context, message)
Parameters:
  • context – 对象

  • message – 对象

Return type:

对象

QT_TRANSLATE_NOOP3(context, message, disambiguation)
Parameters:
  • context – 对象

  • message – 对象

  • 消歧 – 对象

Return type:

对象

QT_TRANSLATE_NOOP_UTF8(message)
Parameters:

消息 – 对象

Return type:

对象

qRegisterResourceData(arg__1, arg__2, arg__3, arg__4)
Parameters:
  • arg__1 – 整数

  • arg__2PyBytes

  • arg__3PyBytes

  • arg__4PyBytes

Return type:

布尔

qUnregisterResourceData(arg__1, arg__2, arg__3, arg__4)
Parameters:
  • arg__1 – 整数

  • arg__2PyBytes

  • arg__3PyBytes

  • arg__4PyBytes

Return type:

布尔

qCDebug(logging_category, message)
Parameters:
qCCritical(logging_category, message)
Parameters:
qCInfo(logging_category, message)
Parameters:
qCWarning(logging_category, message)
Parameters:

枚举

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

类似于Decimal,但指数是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.RegularExpression

表示该字符串包含一个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在Simple Values registry中维护。

另请参阅

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

class QCborTag

警告

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

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

CBOR标签是附加到通用CBOR类型上的64位数字,以提供进一步的语义。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()函数生成的消息。

另请参阅

QtMessageHandler qInstallMessageHandler() QLoggingCategory