このページでは

<QtGlobal> - Global Qt Declarations

<QtGlobal> ヘッダーファイルには、その他のさまざまなヘッダーファイルがインクルードされています。詳細...

Header: #include <QtGlobal>

マクロ

詳細な説明

Qt 6.5 までは、ほとんどの Qt ヘッダーファイルに <QtGlobal> が含まれていました。Qt 6.5 以前、<QtGlobal> はさまざまなグローバル宣言を定義していました。 Qt 6.5 では、これらのほとんどが個別のヘッダーファイルに移されたため、ソースコードでは、すべてのヘッダーをインクルードするのではなく、必要なものだけをインクルードできるようになりました。 現時点では、<QtGlobal> にはこれらの他のヘッダーが含まれていますが(次のセクションを参照)、将来の Qt リリースでは、<QtGlobal> からこれらのヘッダーの一部が削除されたり、バージョンチェックによってインクルードされるかどうかが決まるようになる可能性があります。同様に、将来のリリースでは、現在 <QtGlobal> をインクルードしている一部の Qt ヘッダーが、これをインクルードしなくなる可能性があります。 これにより、使用されていないグローバル宣言を回避することで、コンパイル時間が短縮されることが期待されます。

<QtGlobal> から抽出されたヘッダーの一覧

ヘッダー概要
<QFlags>列挙型の値を結合する型安全な方法
<QForeach>Qtによるforeachおよびforeverループの実装
<QFunctionPointer>関数ポインタ型のtypedef
<QApplicationStatic>参照:Q_APPLICATION_STATIC
<QGlobalStatic>グローバル静的オブジェクトのスレッドセーフな初期化
<QOverload>メンバ関数のオーバーロードを解決するためのヘルパー関数
<QSysInfo>システム情報を取得するためのヘルパークラス
<QTypeInfo>型情報を取得するためのヘルパークラス
<QtAssert>Q_ASSERT およびその他の実行時チェック
<QtClassHelperMacros>Qt クラス用ヘルパーマクロ
<QtCompilerDetection>コンパイラ固有のマクロ定義
<QtDeprecationMarkers>非推奨となるヘルパーマクロ
<QtEnvironmentVariables>環境変数の操作用ヘルパー
<QtExceptionHandling>例外処理用のヘルパー
<QtLogging>Qt ロギング用ヘルパー
<QtMalloc>メモリ割り当て用ヘルパー
<QtMinMax>値の比較用ヘルパー
<QtNumeric>各種数値関数
<QtPreprocessorSupport>ヘルパープリプロセッサマクロ
<QtProcessorDetection>アーキテクチャ固有のマクロ定義
<QtResource>リソースの初期化および解放のためのヘルパー
<QtSwap>qSwap() の実装
<QtSystemDetection>プラットフォーム固有のマクロ定義
<QtTranslation>Qt 翻訳ヘルパー
<QtTypeTraits>Qtの型特性
<QtTypes>Qtの基本型の宣言
<QtVersionChecks>QT_VERSION_CHECK および関連するチェック
<QtVersion>QT_VERSION_STR およびqVersion()

マクロのドキュメント

[since 6.8] QT_ENABLE_STRICT_MODE_UP_TO

このマクロを定義すると、最適ではない、あるいは危険であると見なされるいくつかの Qt API が無効になります。

このマクロの値は、QT_VERSION_CHECK の表記法に従って、Qtのバージョンに設定する必要があります。たとえば、Qt 6.6に設定するには、QT_ENABLE_STRICT_MODE_UP_TO=0x060600 と定義します。これにより、指定されたQtバージョンまで(そのバージョンを含む)のバージョンで導入されたAPIのみが無効化されます。

QT_DISABLE_DEPRECATED_UP_TO マクロが定義されていない場合、QT_ENABLE_STRICT_MODE_UP_TO によって、同じ値で定義されます。

このマクロは、プロジェクトでサポートする最小の Qt バージョンに常に設定する必要があります。

このマクロによって無効化される API は、それらを無効化するために使用する最小値とともに、以下の表にリストされています。

バージョン無効化される API
6.0.0foreach(QT_NO_FOREACH を参照)
6.0.0QString const char * / への変換 ( を参照)QByteArray QT_NO_CAST_TO_ASCII
6.0.0QByteArray const char * への暗黙の変換( を参照)QT_NO_CAST_FROM_BYTEARRAY
6.0.0QUrl QString への暗黙の変換( を参照)QT_NO_URL_CAST_FROM_STRING
6.0.0シグナル・スロット接続における型狭め変換の許可(QT_NO_NARROWING_CONVERSIONS_IN_CONNECT を参照)
6.0.0Qt コンテナ用の Java スタイルのイテレータ
6.6.0qExchange() 関数(QT_NO_QEXCHANGE を参照)
6.7.0コンテキストオブジェクトを受け取らないQObject::connect のオーバーロード (QT_NO_CONTEXTLESS_CONNECT を参照)
6.8.0qAsConst() 関数(QT_NO_QASCONST を参照)
6.8.0ファイル関連の I/O クラスでは、open() 関数に[[nodiscard]] のマークが付いています(QT_USE_NODISCARD_FILE_OPEN を参照)
6.9.0qsnprintf() および qvnprintf() 関数(QT_NO_QSNPRINTF を参照)。
6.12.0QPair 型エイリアスおよび qMakePair() 関数テンプレート(std::pair/std::make_pair を使用してください)。
6.12.0Qt の公開ヘッダーにある特定の推移的インクルード(必要なものは自分でインクルードしてください)。
6.12.0QObject::disconnect() における constQMetaObject::Connection 引数のサポート(QT_NO_DISCONNECT_CONST_CONNECTION を参照)。
6.12.0シードを指定しない `qHash ` のオーバーロードをサポート(QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD を参照)。

さらに、QT_DISABLE_DEPRECATED_UP_TO の設定の一環として、個々の API が無効化される場合もあります。詳細については、各クラスのドキュメントを参照してください。

このマクロは Qt 6.8 で導入されました。

QT_DISABLE_DEPRECATED_UP_TO 、QT_NO_KEYWORDS 、およびQT_VERSION_CHECKも参照してください 。

[since 6.0] QT_NO_FOREACH

このマクロを定義すると、Qt XMLのforeach ループが使用できなくなります。

このマクロはQt 6.0で導入されました。

QT_NO_KEYWORDSも参照してください 。

QT_NO_KEYWORDS

このマクロを定義すると、signals やslots など、通常有効になっている Qt 固有のキーワードが無効になります。代わりにQ_SIGNALS およびQ_SLOTS を使用してください。

ライブラリでは、パブリックヘッダー内でQ_ という接頭辞のない汎用キーワードを使用しないようにするため、このマクロを定義する必要があります。

QT_NO_FOREACHも参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.