<QtGlobal> - Global Qt Declarations
<QtGlobal> ヘッダーファイルには、他のヘッダーも含まれています。詳細...
Header: | #include <QtGlobal> |
マクロ
(since 6.8) | QT_ENABLE_STRICT_MODE_UP_TO |
(since 6.0) | QT_NO_FOREACH |
QT_NO_KEYWORDS |
詳しい説明
Qt 6.5 までは、ほとんどの Qt ヘッダファイルは <QtGlobal> を含んでいました。Qt 6.5以前では、<QtGlobal>は様々なグローバル宣言を定義していました。Qt 6.5 では、ソースコードが必要なものだけを含めることができるように、これらのほとんどは別のヘッダに移動しました。今のところ、<QtGlobal> には他のヘッダも含まれています(次のセクションを参照してください)が、将来の Qt のリリースでは、これらのヘッダの一部が <QtGlobal> から削除されたり、バージョンチェックの際に含めることが条件となったりするかもしれません。同様に、将来のリリースでは、現在 <QtGlobal> をインクルードしている Qt ヘッダのいくつかは、インクルードをやめるかもしれません。これは、グローバル宣言が使用されない場合に、グローバル宣言を避けることでコンパイル時間を改善することを目的としています。
<QtGlobal> から抽出されるヘッダーのリスト
ヘッダ | 概要 |
---|---|
<QFlags | 型安全な enum 値の結合方法 |
<QForeach | Qt の foreach および forever ループの実装 |
<QFunctionPointer | 関数へのポインタ型のための型定義 |
<QApplicationStatic> | に対してQ_APPLICATION_STATIC |
<QGlobalStatic> | グローバル静的オブジェクトのスレッドセーフな初期化 |
<Qオーバーロード | メンバ関数のオーバーロードを解決するためのヘルパー |
<QSysInfo> | システム情報を取得するヘルパークラス |
<QTypeInfo> | 型情報を取得するヘルパー |
<QtAssert | Q_ASSERT およびその他の実行時チェック |
<QtClassHelperMacros> Qtクラスヘルパーマクロ | 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.0 | foreach(QT_NO_FOREACH を参照) |
6.0.0 | QString const char * からのコンストラクタ ( を参照)QT_NO_CAST_FROM_ASCII |
6.0.0 | QString const char * / への変換 ( を参照)QByteArray QT_NO_CAST_TO_ASCII |
6.0.0 | QByteArray const char * への暗黙の変換 ( を参照)QT_NO_CAST_FROM_BYTEARRAY |
6.0.0 | QUrl QString からの暗黙の変換 ( を参照)QT_NO_URL_CAST_FROM_STRING |
6.0.0 | シグナルスロット接続における狭帯域変換の許可 (QT_NO_NARROWING_CONVERSIONS_IN_CONNECT 参照) |
6.0.0 | Qt コンテナの Java スタイルのイテレータ |
6.6.0 | qExchange() 関数 (QT_NO_QEXCHANGE を参照) |
6.7.0 | コンテキストオブジェクトを取らないQObject::connect のオーバーロード (QT_NO_CONTEXTLESS_CONNECT を参照) |
6.8.0 | qAsConst() 関数 (QT_NO_QASCONST を参照) |
6.8.0 | ファイル関連 I/O クラスは、open() 関数に[[nodiscard]] のマークが付いています (QT_USE_NODISCARD_FILE_OPEN を参照)。 |
6.9.0 | qsnprintf() および qvnprintf() 関数(QT_NO_QSNPRINTF を参照)。 |
さらに、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 のforeach
ループが利用できなくなります。
このマクロは Qt 6.0 で導入されました。
QT_NO_KEYWORDSも参照して ください。
QT_NO_KEYWORDS
このマクロを定義すると、signals
やslots
など、通常は有効になっている Qt 固有のキーワードが無効になります。代わりにQ_SIGNALS
とQ_SLOTS
を使用してください。
ライブラリはこのマクロを定義して、公開ヘッダでQ_
接頭辞のない一般的なキーワードを使用しないようにする必要があります。
QT_NO_FOREACHも参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。