Qt 6.7 の新機能

Qt 6.7 の新機能

Qt Core モジュール

  • C++20 std::span の Qt 再実装であるQSpan を追加。
  • std::*_ordering クラスの C++17 互換実装であるQt::strong_orderingQt::weak_orderingQt::partial_ordering クラスを追加。
  • Qt クラスに関係演算子を便利に実装するためのヘルパー・マクロを追加しました。これらのマクロは、C++20 ビルドでは operator<=>() を提供し、C++17 ビルドでは 6 つのすべての関係演算子にフォールバックします。
  • これらのヘルパー・マクロをQDate,QTime,QDateTime,QTimeZone,qfloat16 クラスに適用しました。
  • 新しいクラスQAtomicScopedValueRollback を追加した。
  • Qt::Key_micro を追加し、最終的に誤った名前の Key_mu を置き換えるようにした。これはマイクロ記号 U+00B5 であり、ギリシャ文字の mu、U+03BC や U+039C ではない。
  • QLocalename()、bcp47Name()、uiLanguages() で、呼び出し元が名前のタグの間に使用するセパレータを指定できるようになりました。
  • QLocale フォーマットされた日付のタイムゾーン部分を (できる限り) ローカライズするようになりました。
  • 2桁の年の日付(およびdatetime)解析で、呼び出し元がその年を選択するセンチュリーを制御できるようになりました。
  • QCalendar matchCenturyToWeekday() が追加され、2 桁の年の解析に対応しました。
  • QDateTime TransitionResolution パラメータを受け付けるようになり、タイムゾーン遷移の解決方法を制御できるようになりました。ギャップ内の datetime のデフォルトの解決方法が有効になりましたが、その 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をサブクラス化し、必要なインターセプトメソッドをオーバーライドできるようになりました。
  • QGrpcServerStreamQGrpcClientStream 、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::autoPlayVideo::autoPlay プロパティは、メディアソースが設定されたときに自動的に再生を開始するために使用できます。
  • QCameraDevice に新しいcorrectionAngle プロパティが追加されました。このプロパティは、カメラの物理的な回転をネイティブの向きと比較して補正するために必要な回転角度を表します。

Qt Network モジュール

  • HTTP ヘッダーを表すQHttpHeaders クラスを追加。
  • QNetworkRequest およびQNetworkAccessManager で転送タイムアウトを設定するための std::chrono サポートを追加。
  • QNetworkRequestFactory クラスを追加 (Technical Preview)。このクラスはネットワークリクエストを作成するための便利なクラスです。
  • QRestAccessManager およびQRestReply を追加 (Technical Preview)。これらのクラスは、RESTfulなユースケース向けに調整された便利なラッパーです。

Qt OPC UA モジュール

Qt Protobuf モジュール

  • QProtobufMessage ベースのクラスに対する JSON シリアライズおよびデシリアライズ機能を実装する新しいシリアライザを追加しました。
  • Qt Protobuf ジェネレータに「オプション」フィールドのサポートを追加しました。メッセージ・フィールドが 'オプショナル' とマークされた場合、通常のフィールドに加えて clear<fieldName> メソッドと has<fieldName> メソッドが追加されます。
  • Qt Protobuf ジェネレーターによって生成される列挙型フィールドは、最初の文字の大文字と小文字を保持するようになりました。以前は、ジェネレータは生成された列挙型フィールド名を大文字にしていました。

注意: Qt Protobuf モジュールは技術プレビュー中です。

Qt QML モジュール

  • QML Language ServerQT_QML_GENERATE_QMLLS_INI による CMake でのファイル生成の設定。
  • QMLファイルの翻訳コンテキストは、QT_QML_GENERATE_QMLLS_INIで設定できます。pragma Translator
  • QML ファイルの翻訳コンテキストはQML_CONSTRUCTIBLE_VALUEQML_STRUCTURED_VALUE で設定できます。実際、Qt 6.5 からはすでに可能でしたが、正式にサポートされました。

Qt Quick Compiler

  • 値型のプロパティを記述するバインディングや関数が C++ にコンパイルできるようになりました。
  • オプショナルチェインが C++ にコンパイルできるようになりました。
  • for...in iteration が C++ にコンパイルできるようになりました。

Qt Quick モジュール

  • ファイルからの読み込み用にTextEdit.textDocument.source プロパティ、書き込み用にsave() とsaveAs() 関数が追加されました。これらは、テキストを扱うユースケースにおいてXMLHttpRequest を置き換えるためのものです。
  • TextEditTextAreacursorSelection プロパティを追加し、選択テキストのプロパティを検査および変更できるようにした。
  • テキスト・エディターのサンプルを更新し、これらの機能を示すようにした。
  • 非常に大きなテキストのレンダリングでより良い結果をもたらす新しいテキスト・レンダラーを追加。これはrenderTypeText.CurveRendering に設定することで選択できます。
  • テキスト・クラスは、variable fonts で動作する新しい API を取得しました。
  • 矩形は異なるradii on each corner を持つことができるようになりました。
  • Window の parent プロパティとともに、Qt Quick シーンに QWindows を埋め込むための予備サポートを追加し、Window の視覚的な親を設定できるようにしました。
  • Control の focusReason とfocusPolicy プロパティはItem に移動されました。
  • QQuickRhiItem QQuickFramebufferObjectQt のレンダリングハードウェアインタフェース(OpenGL、Vulkan、Direct3D、Metal など)でサポートされているハードウェアアクセラレーショングラフィックス API を使用して 3D グラフィックスをレンダリングするカスタムQQuickItem オブジェクトを作成できるようになりました。
  • 新しい QQuickRenderControl の例を追加しました。QRhi を使用しているため、完全に移植可能で、サポートされているすべての 3D API で動作します。これは、Qt Quick のコンテンツをクロスプラットフォームでテクスチャにリダイレクトする方法を示しています。

Qt Quick Controlsモジュール

Qt Quick Shapesモジュール

  • Curve Rendererと関連プロパティpreferredRendererType が正式にサポートされ、実験的なものとは見なされなくなりました。
  • 形状を特徴付けるためのpathHints プロパティが追加されました。これはレンダラーがパスの処理とレンダリングを最適化するために使用されます。
  • シェイプは、シェイプの外接矩形に基づく暗黙のサイズを持つようになり、レイアウトで適切に配置されるようになりました。アイテムに暗黙的なサイズとは異なる明示的なサイズが与えられたときのシェイプの動作を変更するために、fillModehorizontalAlignmentverticalAlignment プロパティが追加されました。
  • 技術プレビューとしてsvgtoqmlツールが追加されました。これはSVGファイルをQMLコードに変換するためのツールです。現在実験的なものとみなされており、Qt SVG がサポートするもののサブセットをサポートしています。

Qt Quick Timeline モジュール

  • QtQuick.Timeline.BlendTrees サブモジュールに、複数のタイムラインアニメーションをブレンドするための新しい API が追加されました。

Qt Quick 3Dモジュール

  • QQuick3DRenderExtension はアプリケーション側のレンダリング拡張を実装するための新しいクラスで、QtQuick3D エンジンに変更を加えることなく、QtQuick3D のレンダリングパイプラインを拡張できるようになりました。 と Qt Rendering Hardware Interface ( ) によって提供される新しいセミパブリック API と共に、カスタムレンダリングコードを のレンダリングパイプラインに挿入し、メインレンダリングパスの一部としてレンダリングしたり、スタンドアロンレンダリングレコーディングとしてレンダリングしたりすることができます。スタンドアロンレンダリング記録からの結果は、 が宣言される順序によって制御できる先行する拡張機能で利用できるようにすることができます。スタンドアロンレンダーエクステンションは、テクスチャアイテムのテクスチャプロバイダとして公開することもできます。つまり、その結果は、マテリアルやエフェクトなど、 'のテクスチャタイプを消費する他の タイプで使用できます。QtQuick3DQRhi QtQuick3D extensions QtQuick3D QtQuick3D
  • QSSG ファミリーのクラスはドキュメント化されており、限定的な互換性を約束する API として提供されています。Qt Spatial Scene Graph クラスは、QtQuick3D の内部型へのアクセスや、便利なヘルパーを提供します。QSSG クラスは主に2つのグループに分けられます。最初のグループは、QRhi を使用してQtQuick3D シーンにカスタムレンダリングを行うために必要な状態へのアクセスを提供します。一方、2 番目のグループのクラスは、QtQuick3D のレンダラブルへのアクセスと、QtQuick3D 内部で使用されているのと同じインフラストラクチャを使用して、それらのレンダラブルを変更、取得、または再レンダリングすることを可能にするヘルパーを提供します。
  • CustomMaterial 新しい と プロパティを取得しました。sourceAlphaBlend destinationAlphaBlend
  • Texture に新しいtextureProvidertilingModeDepth プロパティが追加されました。
  • View3D 新しい , , プロパティを追加しました。explicitTextureWidth explicitTextureHeight effectiveTextureSize

Qt Quick 3D Physics モジュール

Qt Serial Bus モジュール

  • QCanDbcFileParser に、UTF-8 以外のエンコーディングで DBC ファイルの解析を可能にするメソッドを追加した。

Qt SQL モジュール

  • 非推奨の <qsql.h> ヘッダーが削除された。代わりに <qtsqlglobal.h> を使用してください。

Qt WebEngine モジュール

Qt Widgets モジュール

  • Qt のレンダリングハードウェアインタフェースでサポートされているハードウェアアクセラレーショングラフィックス API (OpenGL、Vulkan、Direct3D、Metal) を使って 3D グラフィックスをレンダリングするためのQRhiWidget クラス (テクノロジープレビュー中) を追加しました。
  • QCheckBox 新しいチェック状態を型安全な enum 値として出力する新しいシグナル checkStateChanged を追加しました。Qt::CheckState
  • QDateTimeEdit 新しい プロパティを追加しました。timeZone
  • Windows 11以上を実行しているシステムでは、新しいWindows 11ウィジェットスタイルがデフォルトで使用されます。このスタイルはWindowsダークモードをサポートします。

Qt SVG モジュール

  • SVG 1.1標準のいくつかの要素のサポートを追加しました。対象要素はマスク、シンボル、マーカー、パターン、フィルタ、フィルタプリミティブ(feMerge、feColorMatrix、feGaussianBlur、feOffset、feComposite、feFlood)。
  • 新しい要素のレンダリングを有効または無効にするQtSvg::Options フラグを追加。
  • QSvgRendererQSvgWidgetQtSvg::Options のセッターとゲッターを追加。新機能はデフォルトで有効になっている。

ツール

Qt Widgets デザイナー

  • Qt Widgets スコープ付き列挙および をサポートするため、Designer は完全修飾列挙値を ファイルに書き込むようになりました。これらの値の読み取りサポートは 6.6.1 および 6.5.4 にバックポートされました。Qt for Python .ui

プラットフォームの変更

デスクトップ・プラットフォーム

Windows

macOS

  • macOS 14がビルドおよびターゲット・プラットフォームとしてサポートされました。

LinuxのWaylandクライアント

WebAssembly

  • ドロップサポート(ドラッグ&ドロップ)を追加しました。Qt は、ユーザーがアプリケーションのウィンドウにコンテンツをドロップすると、ドロップイベントを送信するようになりました。
  • OpenGL ES 3 / WebGL2 がデフォルトになり、OpenGL ES2 / WebGL 1 にフォールバックされるようになりました。
  • Emscripten のバージョンが 3.1.50 に更新されました。

モバイルプラットフォーム

アンドロイド

  • 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に設定。
  • モバイルカテゴリのサンプルをiOSに合わせました。
  • QScreen の Android Display id へのアクセスを提供するQNativeInterface::QAndroidScreen を追加。
  • テストのクラッシュレポートをきれいに印刷するために、androidtestrunnerでndk-stackを使用するためのサポートを追加。
  • Android パッケージのデプロイメントタイプを明示的に設定するための CMake 変数 QT_ANDROID_DEPLOYMENT_TYPE を追加。
  • Qt for Android プラットフォームのドキュメントの全体的な書き直しと更新。
  • Android プロジェクトで Qt の機能を利用するための機能を導入しました:

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 ファイルを生成し、ネイティブ言語用の 'plural-only' .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 の変更点の概要を説明します:

© 2025 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.