QDebugStateSaver Class

カスタムQDebug 演算子のための便利なクラス。詳細...

Header: #include <QDebugStateSaver>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

詳細説明

QDebugQDebugStateSaver の構築時にautoInsertSpaces() が真であった場合、maybeSpace() を呼び出し、引数をスペースで区切ります。

書き込みの間の空白の自動挿入は、QDebugStateSaverが現在のブロックの間保存する設定の1つです。

内部QTextStream の設定も保存され、復元されます。そのため、QDebug 演算子で <<Qt::hex を使用しても、他のQDebug 演算子には影響しません。

QDebugStateSaverは通常、デバッグのためのoperator<<()の実装で使用されます:

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()も参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。