Qt 6.7の新機能
Qt 6.7の新機能
Qt Core モジュール
- QSpan が追加されました。これは、C++20 の std::span を Qt で再実装したものです。
std::*_orderingクラスのC++17互換実装であるQt::strong_ordering 、Qt::weak_ordering 、およびQt::partial_ordering クラスが追加されました。- Qtクラス内で関係演算子を便利に実装するためのヘルパーマクロを追加しました。これらのマクロは、C++20ビルドではoperator<=>()を提供し、C++17ビルドでは6つの関係演算子すべてにフォールバックします。
- これらのヘルパーマクロを、QDate 、QTime 、QDateTime 、QTimeZone 、およびqfloat16 クラスに適用しました。
- 新しいクラス `QAtomicScopedValueRollback` を追加しました。
- Qt::Key_micro を追加しました。これは、誤った名称である Key_mu を将来的に置き換えるものです。これはマイクロ記号 U+00B5 であり、ギリシャ文字のミュー (U+03BC または U+039C) ではありません。
- QLocalename()、bcp47Name()、および uiLanguages() では、呼び出し元が名前内のタグ間に使用する区切り文字を指定できるようになりました。
- QLocale は、フォーマットされた日付・時刻のタイムゾーン部分を(可能な範囲で)ローカライズするようになりました。
- 2桁の年による日付(および日時)の解析において、呼び出し元が、その年が選択される世紀を制御できるようになりました。
- QCalendar 2桁の年の解析をサポートするため、matchCenturyToWeekday() が追加されました。
- QDateTime TransitionResolution パラメータを受け入れるようになり、呼び出し元がタイムゾーンの遷移の解決方法を制御できるようになりました。ギャップ内の日付時刻のデフォルトの解決は有効ですが、その time() および場合によっては date() は、要求された値ではなく、toMSecsSinceEpoch() が報告する値と一致するようになりました。
Qt D-Bus モジュール
- 非推奨となっていた <qdbusmacros.h> ヘッダーが削除されました。代わりに <qtdbusglobal.h> を使用してください。
- 新しい関数 `QDBusAbstractInterface::setInteractiveAuthorizationAllowed()` を使用すると、非同期呼び出しに対して `
ALLOW_INTERACTIVE_AUTHORIZATION` フラグを設定できます。
Qt Graphs モジュール
Qt Graphs3D
- データ API では、すべてのデータ項目をヒープメモリに作成する必要はありません。
- 画像へのレンダリング機能が追加されました。
Qt Graphs2D
- 2D グラフのテクノロジープレビュー。
- 棒グラフ、折れ線グラフ、散布図の初期サポートが含まれています。
Qt GRPC モジュール
- QtGRPC の呼び出しやストリームの挙動をカスタマイズするためのインターセプタを使用する機能を追加しました。これで、QGrpcClientInterceptor をサブクラス化し、必要なインターセプトメソッドをオーバーライドできるようになりました。
- QGrpcServerStream 、QGrpcClientStream 、QGrpcBidirStream クラスが導入されました。これらは、それぞれクライアント、サーバー、双方向のストリーミング呼び出しを行うために使用されます。
注: Qt GRPC モジュールは テクノロジープレビュー段階です。
Qt GUI モジュール
- Windows 10 および 11、macOS、iOS、Android 上のネイティブアイコンライブラリへのアクセスを提供するQIconEngine の実装が追加されました。
- 新しいイベントタイプ `QEvent::ChildWindowAdded ` および `QEvent::ChildWindowRemoved` を追加し、子ウィンドウの追加および削除をウィンドウに通知するための対応する `QChildWindowEvent ` クラスを用意しました。
- すべてのプラットフォームで可変アプリケーションフォントの読み込みが可能になりました(Windows では DirectWrite または FreeType バックエンドが必要です)。
- QFont variable fonts を扱うための新しい API が利用可能になりました。
- 新しい `QFont::Tag ` 型は、新しい可変フォントサポート API や、Qt 6.6 で暫定 API として導入され、現在は正式化された `support for typographical features ` とともに、軸を指定するために使用できます。
Qt Multimedia モジュール
- FFmpegマルチメディアバックエンドは、Windows上でFFmpegと動的にリンクするようになりました。事前コンパイル済みのFFmpegバイナリは、オンラインインストーラを通じて提供されます。FFmpegバックエンドを使用するWindowsアプリケーションは、windeployqtを使用して、インストーラの一部としてFFmpegバイナリをバンドルする必要があります。
- 新しいMediaPlayer::autoPlay およびVideo::autoPlay プロパティを使用すると、メディアソースが設定された際に自動的に再生を開始できます。
- QCameraDevice には、新しいcorrectionAngle プロパティが追加されました。このプロパティは、カメラの本来の向きに対する物理的な回転を補正するために必要な回転角度を表します。
Qt Network モジュール
- HTTP ヘッダーを表す `QHttpHeaders ` クラスが追加されました。
- QNetworkRequest およびQNetworkAccessManager を使用して転送タイムアウトを設定するための std::chrono のサポートが追加されました。
- QNetworkRequestFactory クラスを追加しました(テクノロジープレビュー)。このクラスは、ネットワークリクエストを作成するための利便性の高いクラスです。
- QRestAccessManager およびQRestReply (テクノロジープレビュー)が追加されました。これらのクラスは、RESTful のユースケースに合わせて調整された便利なラッパークラスです。
Qt OPC UA モジュール
- 履歴イベントの読み取りを可能にするため、新しいQOpcUaHistoryEvent およびQOpcUaHistoryReadEventRequest クラスを追加しました。
- 汎用 OPC UA 構造体のデコードおよびエンコードをサポートするため、新しいQOpcUaGenericStructHandler クラスおよび関連するデータクラスが追加されました。
Qt Protobuf モジュール
- QProtobufMessage ベースのクラス向けに、JSON シリアライズおよびデシリアライズ機能を実装する新しいシリアライザが追加されました。
- Qt Protobuf ジェネレータで「オプション」フィールドのサポートを追加しました。メッセージフィールドが「オプション」としてマークされている場合、通常のフィールドメソッドに加えて、clear<fieldName> および has<fieldName> メソッドが利用可能になります。
- Qt Protobuf ジェネレータによって生成される列挙型フィールドは、大文字と小文字の区別を保持するようになりました。以前は、ジェネレータによって生成された列挙型フィールド名は大文字で開始されていました。
注: Qt Protobuf モジュールは 現在、テクノロジープレビュー段階にあります。
Qt Qml モジュール
- QML Language Server に新機能が追加されました:フォーマット、セマンティックおよびコードスニペットの補完、使用箇所の名前変更、および QT_QML_GENERATE_QMLLS_INI による CMake でのファイル生成設定です。
- QML ファイルの翻訳コンテキストは、以下のように設定できます。
pragma Translator - 値型に対してQML_CONSTRUCTIBLE_VALUE およびQML_STRUCTURED_VALUE を宣言し、QMLからそのような型のオブジェクトを構築できるようになりました。実際にはQt 6.5の時点ですでに可能でしたが、今回正式にサポートされました。
Qt Quick コンパイラ
- 値型のプロパティを書き込むバインディングや関数は、C++にコンパイルできるようになりました
- オプションチェーンが C++ にコンパイルされるようになりました
- for..in ループが C++ にコンパイル可能になりました
Qt Quick モジュール
- ファイルからの読み込み用にTextEdit.textDocument.source プロパティ、書き込み用にsave()およびsaveAs()関数が追加されました。これらは、テキスト処理のユースケースにおいてXMLHttpRequestに代わることを意図しています。
- 選択されたテキストのプロパティを確認・変更するための `TextEdit ` および `TextArea ` に、cursorSelection プロパティが追加されました。
- これらの機能を実演するために、テキストエディタのサンプルを更新しました。
- 非常に大規模なテキストのレンダリングにおいて、より良い結果が得られる新しいテキストレンダラーを追加しました。renderType を
Text.CurveRenderingに設定することで、このレンダラーを選択できます。 - テキストクラスには、variable fonts を扱うための新しい API が追加されました。
- Rectangle では、radii 、on 、each 、corner をそれぞれ異なる値に設定できるようになりました。
- Qt Quick シーンへの QWindows の埋め込みに対する暫定的なサポートが追加されました。また、Window の親プロパティも追加され、Window の視覚的な親を設定できるようになりました。
- Control のfocusReason およびfocusPolicy プロパティは、Item に移動されました。
- QQuickFramebufferObject の現代的な代替手段として、QQuickRhiItem が追加されました。これにより、Qt のレンダリングハードウェアインターフェースでサポートされているハードウェアアクセラレーション対応のグラフィックス API(OpenGL、Vulkan、Direct3D、Metal など)を介して 3D グラフィックスをレンダリングする、カスタムQQuickItem オブジェクトを作成できるようになりました。
- QRhi を使用する新しい QQuickRenderControl のサンプルが追加されました。これにより、完全な移植性が確保され、サポートされているすべての 3D API で動作します。このサンプルでは、Qt Quick のコンテンツをクロスプラットフォームな方法でテクスチャにリダイレクトする方法を示しています。
Qt Quick Controls モジュール
- 強型引数を受け取る以下の関数を追加しました:
- pushItem()
- pushItems()
- popToItem()
- popToIndex()
- popCurrentItem()
- replaceCurrentItem()
- push 、pop 、replace といった関数とは異なり、これらは QML コンパイラによって C++ にコンパイルすることができます。
Qt Quick Shapes モジュール
- Curve Rendererおよび関連するプロパティ `preferredRendererType ` は、正式にサポートされるようになり、もはや実験的な機能とは見なされなくなりました。
- 図形を特徴づけるためのpathHints プロパティが追加されました。これは、レンダラーがパスの処理およびレンダリングを最適化するために使用できます。
- シェイプには、シェイプのバウンディング矩形に基づく暗黙的なサイズが設定されるようになり、レイアウト内で適切に配置されるようになりました。アイテムに、暗黙的なサイズとは異なる明示的なサイズが指定された場合のシェイプの挙動を変更するために、fillMode 、horizontalAlignment 、およびverticalAlignment プロパティが追加されました。
- ツール「svgtoqml」がテクノロジープレビューとして追加されました。これは、SVGファイルをQMLコードに変換するために使用できるツールです。現在は実験的な機能と見なされており、Qt SVG がサポートする機能の一部のみに対応しています。
Qt Quick タイムラインモジュール
- QtQuick.Timeline.BlendTreesサブモジュールは、複数のタイムラインアニメーションをブレンドできるようにする新しい API を追加します。
Qt Quick 3D モジュール
- QQuick3DRenderExtension は、アプリケーション側のレンダリング拡張機能を実装するための新しいクラスです。これにより、ユーザーは QtQuick3D のエンジンに変更を加えることなく、QtQuick3D のレンダリングパイプラインを拡張できるようになりました。QtQuick3D が提供する新しいセミパブリック API および Qt レンダリングハードウェアインターフェース (QRhi) と組み合わせることで、カスタムレンダリングコードをQtQuick3D のレンダリングパイプラインに挿入できるようになりました。これは、メインのレンダリングパスの一部としてレンダリングされる場合も、スタンドアロンのレンダリング記録としてレンダリングされる場合もあります。 スタンドアロン・レンダリング記録の結果は、先行する拡張機能で利用可能にすることができ、これはextensions の宣言順序によって制御できます。また、スタンドアロン・レンダリング拡張機能は、Textureアイテムのテクスチャプロバイダとして公開することも可能です。つまり、その結果は、マテリアルやエフェクトなど、QtQuick3D のTexture型を使用する他のQtQuick3D 型でも利用できます。
- QSSG クラスのファミリーについてはドキュメント化されており、互換性の保証が限定された API として提供されています。Qt Spatial Scene Graph クラスは、QtQuick3D の内部型へのアクセスや、それらを操作するための便利なヘルパー関数を提供します。QSSG クラスは、主に 2 つのグループに分類できます。 1つ目のグループは、QRhi を使用してQtQuick3D のシーンにカスタムレンダリングを行うために必要な状態へのアクセスを提供し、2つ目のグループはQtQuick3D のレンダラブルへのアクセスと、QtQuick3D が内部で使用しているのと同じインフラストラクチャを使用して、それらのレンダラブルを変更、取得、または再レンダリングすることを可能にするヘルパー関数を提供します。
- QSSGRenderExtension - レンダリング拡張機能のバックエンド実装。
- QSSGRenderContextInterface -QtQuick3D が内部で使用しているサブシステムの集約クラス。
- QSSGRhiContext、QSSGRhiGraphicsPipelineState 、QSSGRhiSamplerDescription -QtQuick3D で使用される、QRhi 用の利便性クラス。
- QSSGFrameData - レンダリング拡張機能で使用されるフレームごとのデータ。
- QSSGRenderHelpers,QSSGModelHelpers,QSSGCameraHelpers, およびQSSGRenderExtensionHelpers -QtQuick3D のレンダラブルへのアクセス、設定、およびレンダリングを行うためのヘルパークラス。
- CustomMaterial sourceAlphaBlend および プロパティが追加されました。destinationAlphaBlend
- Texture に、新しいtextureProvider およびtilingModeDepth プロパティが追加されました。
- View3D explicitTextureWidth 、 、および の新しいプロパティが追加されました。explicitTextureHeight effectiveTextureSize
Qt Quick 3D 物理モジュール
- HeightFieldShape: `image ` プロパティを通じて、QML Image タイプをソースとして使用できるようになりました。
- ConvexMeshShape:geometry プロパティを通じて、QQuick3DGeometry をソースとして使用できるようになりました。
- TriangleMeshShape: `geometry ` プロパティを通じて、QQuick3DGeometry をソースとして使用できるようになりました。
- PhysicsWorld:
- reportKinematicKinematicCollisions およびreportStaticKinematicCollisions プロパティを追加し、それぞれキネマティック-キネマティックおよびスタティック-キネマティックの衝突レポートを有効にします。
- シミュレーションスレッド数の設定をサポートする。
- PhysicsNode: 衝突フィルタリングのサポートを追加。ノードのグループ ID を指定し、それらの間の衝突を無視できるようになりました。
- PhysicsBody: `simulationEnabled ` プロパティを通じて、ボディのシミュレーションを無効にする機能を追加しました。
Qt Serial Bus モジュール
- QCanDbcFileParser に、UTF-8 以外のエンコーディングでの DBC ファイルの解析を可能にするメソッドが追加されました。
Qt SQL モジュール
- 非推奨となっていた <qsql.h> ヘッダーが削除されました。代わりに <qtsqlglobal.h> を使用してください。
Qt WebEngine モジュールxml-ph-0000@deepl.internal に、UTF-8 以外のエンコーディングで DBC ファイルを解析できるメソッドが
- FIDO2 ユーザー認証および常駐資格情報をサポートするため、新しい API `QWebEngineWebAuthUXRequest` および QML 型 `WebEngineWebAuthUXRequest` を追加しました。
- デスクトップ画面のキャプチャにおけるソース選択を可能にする新しい API `QWebEngineDesktopMediaRequest ` が追加されました。
- ブラウザを横断した Web サイトのテストを自動化するための WebEngineDriver が追加されました。WebEngineDriver はChromeDriver をベースとしています。
- QIODevice API を使用してリクエストの本文にアクセスするための `QWebEngineUrlRequestInfo::requestBody ` を追加しました。
- すべての Web コンテンツをダークテーマで自動的にレンダリングできるようにする設定forceDarkMode (QML) およびForceDarkMode (C++) を追加しました。
- シグナル「QWebEngineProfile::clearHttpCacheCompleted 」および「QQuickWebEngineProfile::clearHttpCacheCompleted 」が追加されました。
Qt Widgets モジュール
- Qt のレンダリングハードウェアインターフェースでサポートされているハードウェアアクセラレーション対応のグラフィックス API(OpenGL、Vulkan、Direct3D、Metal など)を介して 3D グラフィックスをレンダリングするためのQRhiWidget クラス(テクノロジープレビュー)が追加されました。
- QCheckBox 新しいシグナル checkStateChanged が追加され、新しいチェック状態を型安全なQt::CheckState 列挙値として発信します。
- QDateTimeEdit 新しいtimeZone プロパティが追加されました。
- Windows 11 以降を実行しているシステムでは、デフォルトで新しい Windows 11 ウィジェットスタイルが使用されます。このスタイルは Windows のダークモードに対応しています。
Qt SVG モジュール
- SVG 1.1 標準のいくつかの要素のサポートが追加されました。対象となる要素は、Mask、Symbol、Marker、Pattern、Filter、および Filter Primitives (feMerge、feColorMatrix、feGaussianBlur、feOffset、feComposite、feFlood) です。
- 新しい要素のレンダリングを有効または無効にするための `QtSvg::Options ` フラグが追加されました。
- QSvgRenderer およびQSvgWidget のQtSvg::Options に対するセッターとゲッターが追加されました。新機能はデフォルトで有効になっています。
ツール
Qt Widgets Designer
- Qt Widgets Designer では、スコープ付き列挙型および `Qt for Python` をサポートするために、
.uiファイルに完全修飾された列挙値が書き込まれるようになりました。これらの値の読み取り機能のサポートは、6.6.1 および 6.5.4 へバックポートされました。
プラットフォームの変更
デスクトッププラットフォーム
Windows
- Windows 11 スタイルが追加されました
- Windows 上で、QScreen の基になるハンドルへのアクセスを提供するQNativeInterface::QWindowsScreen が追加されました。
macOS
- macOS 14 がサポート対象のビルドおよびターゲットプラットフォームとなりました。
Linux上のWaylandクライアント
- QScreen の基になるWaylandオブジェクトへのアクセスを提供するQNativeInterface::QWaylandScreen が追加されました。
WebAssembly
- ドロップ機能(ドラッグ&ドロップ)のサポートが追加されました。ユーザーがアプリケーションウィンドウ上にコンテンツをドロップすると、Qt がドロップイベントを送信するようになりました。
- OpenGL ES 3 / WebGL2 がデフォルトとなり、OpenGL ES2 / WebGL 1 へのフォールバックが行われるようになりました。
- Emscripten のバージョンが 3.1.50 に更新されました。
モバイルプラットフォーム
Android
- Android プラグインの Java コードをリファクタリングしました。その内容は以下の通りです。
- アーキテクチャおよび各クラス間の関係(たとえば、QtActivity、QtActivityLoader、QtActivityDelegate 間)を簡素化しました。
- QtLoader クラスを public bindings パッケージから移動しました。
- リフレクションの使用を削除しました。
- Qtおよびその他のQPAとの整合性を保つため、Android向けの子ウィンドウに対する暫定的なサポートを追加しました。その結果、QScreen::grabWindow()は当面の間、サポートされません。
- サポートされるプラットフォームの最大バージョンを Android 14 に設定し、デフォルトのプラットフォーム SDK およびターゲットレベルを API 34 に設定しました。
- サポート対象の Android NDK バージョンを r26b (26.1.10909125) に、JDK を 17 に設定しました。
- 「Mobile」カテゴリのサンプルを iOS 版に合わせて調整しました。
- QScreen のAndroid Display IDへのアクセスを提供するQNativeInterface::QAndroidScreen を追加しました。
- テストのクラッシュレポートをきれいに表示するために、androidtestrunner で ndk-stack を使用するサポートを追加しました。
- Android パッケージのデプロイメントタイプを明示的に設定するための CMake 変数 QT_ANDROID_DEPLOYMENT_TYPE を追加しました。
- Qt for Androidプラットフォームのドキュメントを全面的に書き直し、更新しました。
- Android プロジェクトで Qt の機能を最大限に活用するための機能を導入しました:
- Java または Kotlin コードで `Qt Quick ` を使用するための`QtQuickView`(テクノロジープレビュー)。
- Android Studio向けの「Qt Tools for AndroidStudio」(テクノロジープレビュー)。
iOS
- iOS 17がサポート対象プラットフォームに加わりました。
組み込みプラットフォーム
Boot to Qt
- Yocto 4.3 (Nanbield) のサポートが追加されました。
- ARM Linux 開発ホストのサポートが追加されました。
- ターゲットイメージに Squish のサポートが含まれました。
- ターゲットハードウェアのサポートレベルが更新され、Tier 3 で新たに以下のボードがサポート対象となりました:
- Amazon AWS EC2 ARM64
- NVIDIA Jetson AGX Orin 開発者キット
- NXP i.MX8M Nano LPDDR4 EVK(DDR4 EVK バリエーションに代わるもの)
- Qualcomm Robotics RB5 開発キット
- TI SK-AM69
VxWorks
- VxWorks 23.09 のサポートをテクノロジープレビューとして追加しました。
ビルドシステムの変更
- Qt C++ ヘッダーに、IWYUツール用のメタデータが追加されました。
- CMake: DEPLOY_TOOL_OPTIONS を設定することで、qt_generate_deploy_app_script() および qt_deploy_runtime_dependencies() における *deployqt ツールの引数を調整できるようになりました。
- CMake: qt_add_library() が BUILD_SHARED_LIBS 変数の値を考慮するようになりました。この変数が定義されている場合、ライブラリターゲットを追加する際、qt_add_library() 内のライブラリタイプ検出ロジックよりも優先されます。
- CMake: qt_standard_project_setup() では、アプリケーションのネイティブ UI 言語や、UI が翻訳される言語を設定できるようになりました。 これは qt_add_translations() の呼び出しによって取得され、指定された言語に一致する .ts ファイルおよび .qm ファイルが生成されます。また、ネイティブ言語用の「複数形のみ」の .ts ファイルも生成されます。
- CMake: qt_add_translations() に複数のターゲットを指定して、そこから翻訳を抽出できるようになりました。 あるいは、qt_add_translations() にプロジェクトのすべてのターゲットを収集させることもできます(新しい qt_collect_translation_source_targets() 関数を使用)。この場合、ディレクトリまたはターゲットレベルで、不要なターゲットを除外するオプションも利用できます。
- CMake: qt_add_translations() は、テクノロジープレビューの段階から正式リリースされました。
WebOS
- Qt 6.7 は、LG webOS OSE 2.25.0 (Qt for webOS) での動作が確認されています。
API の変更点のリスト
これらのページには、Qt 6.7 における API の変更点の概要が記載されています。
© 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.