函数#
- qCompress(data[, compressionLevel=-1])#
- 参数:
data –
QByteArray
compressionLevel – int
- 返回类型:
压缩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
- 返回类型:
这是一个重载函数。
在压缩级别compressionLevel下压缩data的前nbytes,并将压缩后的数据返回到一个新的字节数组。
- qFastCos(x)#
- 参数:
x – 浮点数
- 返回类型:
浮点数
自版本 4.6 起开始使用。
- qFastSin(x)#
- 参数:
x – 浮点数
- 返回类型:
浮点数
自版本 4.6 起开始使用。
- qFormatLogMessage(type, context, buf)#
- 参数:
type –
QtMsgType
context –
QMessageLogContext
buf – 字符串
- 返回类型:
字符串
根据 type
、context
、str
参数生成一个格式化的字符串。
qFormatLogMessage 返回一个按照当前消息模式格式化的 QString
,它可用于自定义消息处理程序来格式化输出,类似于 Qt 的默认消息处理程序。
函数是线程安全的。
- qFuzzyCompare(p1, p2)#
- 参数:
p1 – 浮点数
p2 – 浮点数
- 返回类型:
布尔值
- qFuzzyCompare(q1, q2)
- 参数:
q1 –
QQuaternion
q2 –
QQuaternion
- 返回类型:
布尔值
如果 q1
和 q2
相等,允许对小数比较的模糊因子进行检查,则返回 true
;否则返回 false
。
- qFuzzyCompare(t1, t2)
- 参数:
t1 –
QTransform
t2 –
QTransform
- 返回类型:
布尔值
如果t1
和t2
相等(允许浮点数的比较存在一小点模糊性),返回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}
%{category}
日志分类
%{file}
源文件路径
%{function}
函数
%{line}
源文件中的行
%{message}
实际消息
%{pid}
%{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,则环境变量具有优先权。
注意
对于占位符category
、file
、function
和line
的信息,只在调试构建中记录。或者可以显式定义QT_MESSAGELOGCONTEXT
。有关更多信息,请参阅QMessageLogContext
文档。
注意
消息模式仅适用于未结构化日志,例如默认的stderr
输出。结构化日志,如systemd,将按原样记录消息,并记录尽可能多的可以捕获的结构化信息。
自定义消息处理器可以使用 qFormatLogMessage()
函数来考虑 pattern
。
- qUncompress(data, nbytes)#
- 参数:
data – str
nbytes – int
- 返回类型:
这是一个重载函数。
解压缩 data
的前 nbytes
个字节,并返回一个新的字节数组,其中包含解压缩后的数据。
- qUncompress(data)
- 参数:
data –
QByteArray
- 返回类型:
解压缩字节数组 data
并返回一个新的字节数组,其中包含解压缩后的数据。
如果输入数据已损坏,则返回一个空的 QByteArray
。
此函数将解压缩使用 qCompress()
功能压缩的数据,从 Qt 3.1 版本开始,直到此功能添加的 Qt 任何早期版本。
注意
如果想要使用此功能来解压缩使用 zlib 压缩的外部数据,首先需要将四个字节的长标题预置于包含数据的字节数组中。该标题必须包含未压缩数据预期的长度(以字节为单位),并以无符号、大端、32位整数的形式表示。这个数字只是表示输出缓冲区初始大小的提示。如果标识的长度不足以容纳结果,则输出缓冲区大小将仍然会增加,直到输出适合或系统用完内存。因此,尽管有32位标题,但在64位平台上,此函数可以产生超过4GiB的输出。
- 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__2 –
PyBytes
arg__3 –
PyBytes
arg__4 –
PyBytes
- 返回类型:
布尔值
- qUnregisterResourceData(arg__1, arg__2, arg__3, arg__4)#
- 参数:
arg__1 – int
arg__2 –
PyBytes
arg__3 –
PyBytes
arg__4 –
PyBytes
- 返回类型:
布尔值
- 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进行优化。它与
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
与十进制相似,但指数是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类型的对象,并在编码相同扩展类型时使用这些标签。此外,如果一个包含
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维护,在简单值注册表 中。
另请参阅
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()