QDebugStateSaver 类
头文件 | #include <QDebugStateSaver> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
公有函数
QDebugStateSaver(QDebug &dbg) | |
~QDebugStateSaver() |
详细说明
保存 QDebug 使用的设置,并在销毁时恢复,然后调用 maybeSpace(),以分隔参数,如果当时在构建 QDebugStateSaver 时 autoInsertSpaces() 为真。
写入之间自动插入空格是 QDebugStateSaver 在当前块期间存储的设置之一。
也会保存和恢复内部 QTextStream 的设置,这样在使用 Qt::hex 在 QDebug 运算符时不影响其他 QDebug 运算符。
QDebugStateSaver 通常用于实现运算符 <<() 用于调试。
QDebug operator<<(QDebug dbg, const Message &message) { const QList<QStringView> pieces = message.body().split(u"\r\n", Qt::SkipEmptyParts); if (pieces.isEmpty()) dbg.nospace() << "Message()"; else if (pieces.size() == 1) dbg.nospace() << "Message(" << pieces.first() << ")"; else dbg.nospace() << "Message(" << pieces.first() << " ...)"; return dbg; }
成员函数文档
QDebugStateSaver::QDebugStateSaver(QDebug &dbg)
创建一个 QDebugStateSaver 实例,该实例保存了 dbg 当前使用的设置。
另请参阅QDebug::setAutoInsertSpaces() 和 QDebug::autoInsertSpaces。
[noexcept]
QDebugStateSaver::~QDebugStateSaver()
销毁一个 QDebugStateSaver 实例,在创建 QDebugStateSaver 实例时恢复设置。
另请参阅QDebug::setAutoInsertSpaces() 和 QDebug::autoInsertSpaces。
© 2024 Qt 公司有限公司。此处包含的文档贡献者的版权归其所有者所有。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 许可的。Qt 及其标志是芬兰及/或全球其他地区的 The Qt 公司的商标。所有其他商标均归其所有者所有。