函数¶
- qCompress(data[, compressionLevel=-1])¶
- Parameters:
data –
QByteArray
compressionLevel – int
- Return type:
压缩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:
这是一个重载函数。
压缩data
的前nbytes
字节,压缩级别为compressionLevel
,并返回压缩后的数据到一个新的字节数组中。
- qFastCos(x)¶
- Parameters:
x – 浮点数
- Return type:
浮点数
在版本4.6中添加。
- qFastSin(x)¶
- Parameters:
x – 浮点数
- Return type:
浮点数
在版本4.6中添加。
- qFormatLogMessage(type, context, buf)¶
- Parameters:
type –
QtMsgType
上下文 –
QMessageLogContext
buf – str
- Return type:
字符串
从type
、context
、str
参数生成一个格式化的字符串。
qFormatLogMessage 返回一个根据当前消息模式格式化的 QString
。它可以被自定义消息处理器使用,以格式化类似于 Qt 默认消息处理器的输出。
该函数是线程安全的。
- qFuzzyCompare(p1, p2)¶
- Parameters:
p1 – 浮点数
p2 – 浮点数
- Return type:
布尔
- qFuzzyCompare(q1, q2)
- Parameters:
q1 –
QQuaternion
q2 –
QQuaternion
- Return type:
布尔
- qFuzzyCompare(t1, t2)
- Parameters:
t1 –
QTransform
t2 –
QTransform
- 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}
%{category}
日志类别
%{file}
源文件路径
%{function}
函数
%{line}
源文件中的行
%{message}
实际消息
%{pid}
%{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,则环境变量优先。
注意
占位符category
、file
、function
和line
的信息仅在调试版本中记录。或者,可以显式定义QT_MESSAGELOGCONTEXT
。更多信息请参阅QMessageLogContext
文档。
注意
消息模式仅适用于非结构化日志记录,例如默认的stderr
输出。结构化日志记录(如systemd)将按原样记录消息,并尽可能多地捕获结构化信息。
自定义消息处理程序可以使用qFormatLogMessage()
来考虑pattern
。
- qUncompress(data, nbytes)¶
- Parameters:
data – 字符串
nbytes – int
- Return type:
这是一个重载函数。
解压缩data
的前nbytes
,并返回一个包含未压缩数据的新字节数组。
- qUncompress(data)
- Parameters:
数据 –
QByteArray
- Return type:
解压缩data
字节数组,并返回一个包含未压缩数据的新字节数组。
如果输入数据损坏,则返回一个空的 QByteArray
。
此函数将解压缩使用qCompress()
压缩的数据,从当前及更早的Qt版本,回溯到Qt 3.1,当时此功能被添加。
注意
如果你想使用这个函数来解压缩使用zlib压缩的外部数据,你首先需要在包含数据的字节数组前添加一个四字节的头部。头部必须包含未压缩数据的预期长度(以字节为单位),表示为无符号、大端序的32位整数。不过,这个数字只是输出缓冲区初始大小的提示。如果指示的大小太小而无法容纳结果,输出缓冲区的大小仍会增加,直到输出适合或系统内存耗尽。因此,尽管有32位的头部,这个函数在64位平台上可以产生超过4GiB的输出。
- 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__2 –
PyBytes
arg__3 –
PyBytes
arg__4 –
PyBytes
- Return type:
布尔
- qUnregisterResourceData(arg__1, arg__2, arg__3, arg__4)¶
- Parameters:
arg__1 – 整数
arg__2 –
PyBytes
arg__3 –
PyBytes
arg__4 –
PyBytes
- Return type:
布尔
- qCDebug(logging_category, message)¶
- Parameters:
logging_category –
QLoggingCategory
message – str
- qCCritical(logging_category, message)¶
- Parameters:
logging_category –
QLoggingCategory
message – str
- qCInfo(logging_category, message)¶
- Parameters:
logging_category –
QLoggingCategory
message – str
- qCWarning(logging_category, message)¶
- Parameters:
logging_category –
QLoggingCategory
message – str
枚举¶
- class QCborKnownTags¶
此枚举包含在Qt实现时已知的CBOR标签列表。此列表并非旨在完整,仅包含由RFC支持或Qt实现特别使用的标签。
权威列表由IANA在CBOR标签注册表中维护。
常量
描述
QCborKnownTags.DateTimeString
一个日期和时间字符串,根据RFC 3339格式化,并由RFC 4287进一步精炼。它与
ISODate
和ISODateWithMs
的格式相同。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类型的对象,并且在编码相同的扩展类型时将使用这些标签。此外,如果包含
QByteArray
的QCborValue
使用ExpectedBase64url
、ExpectedBase64
或ExpectedBase16
之一进行标记,QCborValue
在转换为JSON时将使用预期的编码(参见toJsonValue
)。
- 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