Qt 6.3の新機能
Qt 6.3 で追加・復活したモジュール
Qt 6.3 では、以下のモジュールが追加されました:
- Qt Language Server:Language Server Protocol SpecificationおよびJsonRpc 2.0プロトコルを実装しています。このモジュールにはパブリック API は含まれていません。
Qt 6.3 では、Qt 6.2 には存在しなかった以下のモジュールが再導入されました。記載されているすべてのモジュールは、Qt 6 および CMake ビルドシステムに移植されています。
- Qt PDF (テクノロジープレビュー)
各モジュールに対する変更点の詳細については、「Qt 6 における Qt モジュールの変更点」を参照してください。
Qt 6.3の新機能
Qt Core モジュール
- 複数のフューチャーを結合するための関数 `QtFuture::whenAll()` および `QtFuture::whenAny()` が追加されました。
- permission 引数を受け取るQDir::mkdir() およびQFile::open() のオーバーロードが追加されました。
- QMetaType QFuture<T> を <void> に変換できるようになりました。QFuture
- QDirIterator::nextFileInfo() を追加し、ファイルの読み込みを進めたり、完全なファイル情報を取得したりできるようになりました。
- QLocale言語コードと Language 値間のマッピングに、どの ISO 639 コードタイプを考慮するかを指定するオーバーロードが追加されました。
- QRegularExpressionMatch hasCaptured() メソッドが追加され、指定されたグループがキャプチャされたかどうかをテストできるようになりました。
- QProcessEnvironment QProcess が起動された際に、プロセス環境を親プロセスから継承するかどうかを選択できる新しい列挙型とコンストラクタが追加されました。
警告: 以前の Qtバージョンでは 、ドキュメントには「継承しない」と記載されていたにもかかわらず、デフォルトの挙動は継承するようになっていました。Qt 6.3 では、デフォルトコンストラクタの挙動がドキュメントの内容と実際に一致するように変更されました。つまり、QProcessEnvironment() で作成された `QProcessEnvironment ` を使用して `QProcess ` を起動すると、空の環境で起動されます。以前の挙動に戻すには、QProcessEnvironment (QProcessEnvironment::InheritFromParent )を使用してください。
また、新しい方法で構築されたインスタンスを判定するためのメソッド `inheritsFromParent()` を追加しました。
- QVarLengthArray emplace() および () メソッドが追加されました。emplace_back
- QLocale 、QTime 、およびQDateTime の解析およびシリアル化で使用される時間形式は、AM/PM インジケータを取得するために「aP」および「Ap」形式指定子を認識するようになりました。インジケータにはロケールに適した大文字小文字が使用されますが、以前は、時間形式の作成者が、ユーザーのロケールと競合する可能性のある大文字小文字を選択する必要がありました。QTime およびQDateTime では、ロケールは常に C であり、その表示はすべて大文字になります。QLocale では、大文字・小文字の区別が amText() または pmText() の大文字・小文字と一致するようになりました。以前は、「aP」は大文字の指標の後に「P」が続くものとして、「Ap」は大文字の指標の後に「p」が続くものとして解釈されていました。 「P」または「p」は、フォーマット指定子の一部として扱われるようになりました。以前の挙動を望む場合は、フォーマット指定子として「APp」または「apP」を使用するか、フォーマット内の「p」または「P」を引用符で囲んでください。 それ以外の点では、従来の「a」、「ap」、「A」、「AP」指定子は影響を受けません。
- QDebug QVarLengthArray オブジェクトをストリーミングできるようになりました。
- QObject::findChildren() には、名前を指定しないオーバーロードが追加されました。
- QSemaphore にオーバーロードとメソッド名が追加され、std::counting_semaphore および std::chrono との互換性が向上しました。
- QJsonValue QJsonArray および を受け取る rvalue コンストラクタが追加されました。QJsonObject
- QCborMap::fromJsonObject() およびQCborArray::fromJsonArray() には、rvalue オーバーロードが追加されました。
- 先頭および末尾のスペースを削除するQByteArrayView::trimmed()が追加されました。
- QByteArrayView に数値解析メソッドを追加しました。
- QByteArray 、QByteArrayView 、およびQUtf8StringView に isValidUtf8() メソッドが追加されました。
- `result()` のビューを提供するために、`QCryptographicHash::resultView()` を追加しました。
- QStringBuilder がQByteArrayView をサポートするようになりました。
- QUuid QAnyStringView から構築できるようになりました。
- QLocale QStringView を受け取るコンストラクタが追加されました。
- QByteArrayList::join() には、QByteArrayView を受け取るオーバーロードが追加されました。
- QCryptographicHash::addData() には、QByteArrayView を受け取るオーバーロードが追加されました。
- qSwap() は constexpr になりました。
- 新しいパブリック CMake API が追加されました:
- プロジェクト全体のデフォルト設定用:qt_standard_project_setup()
- アプリケーションのデプロイ用:qt_generate_deploy_app_script()(Technology Preview)
- インストール時に qt.conf ファイルを生成するためのもの:qt_deploy_qt_conf()(Technology Preview)
- インストール時にランタイム依存関係をデプロイするため:qt_deploy_runtime_dependencies()(テクノロジープレビュー)
- Qt プロジェクトに関連するプラットフォーム固有のタスクを実行するため:qt_finalize_project()(テクノロジープレビュー中)
Qt GUI モジュール
- QGuiApplication::setLayoutDirection() を非自動値で呼び出すと、インストールされている翻訳機能に基づく自動検出が無効になります。
- QDesktopServices::setUrlHandler() に渡された URL ハンドラは、破棄される前にunsetUrlHandler() を呼び出して削除する必要があります。ハンドラのデストラクタによって暗黙的に設定が解除されることに依存することは非推奨となりました。
- QVulkanWindow これにより、物理デバイスによってサポートされていると報告されているすべての Vulkan 1.0 機能が有効になります。
Qt Quick モジュール
- 新しい項目が追加されました:TreeView 。
- すべてのポインタハンドラには、設定可能な
parentプロパティがあります。 - HoverHandler およびWheelHandler には、ホバーイベントとホイールイベントが、それぞれハンドラの
parentの背後にあるアイテムやハンドラに伝播するかどうかを制御するblockingプロパティがあります。 - TapHandler gesturePolicy には、もう 1 つの値「 」が追加されました。これは「 」と似ていますが、ユーザーがポイントを押したままドラッグした場合でも、ドラッグ中に「 」がリセットされず、ユーザーがポイントを押したままの状態が一定時間続くと、ドラッグの閾値に関係なく「 」シグナルが発信される点が異なります。 これは、 を使用して「開く」アニメーションを直接駆動しながら、メニュー(ポインタハンドラの例にあるパイメニューなど)のような「押下・ドラッグ・離し」コンポーネントを実装するのに役立ちます。
DragWithinBoundsWithinBoundstimeHeld longPressedtimeHeld - QQuickItem::clipRect() は、viewport (親のFlickable またはWindow )で表示されている領域を提供するようになり、カスタムアイテムの最適化としてシーングラフノードの頂点を制限するために使用できますが、その代償としてupdatePaintNode() がより頻繁に呼び出されることになります。新しいQQuickItem::ItemObservesViewport およびQQuickItem::ItemIsViewport フラグに関するドキュメントを参照してください。
- メモリと起動時間を節約するため、Text およびTextEdit では、ビューポート外にあるために表示されない大量のテキスト(Flickable またはWindow )に対して、シーングラフノードの生成を行わないようになりました。
- Text HTML や Markdown からの水平線をレンダリングできるようになりました。
- Text では、HTML ソースに含まれる CSS ルールによって、水平線や下線、上線、取り消し線を色付けできるようになりました。
import QtQuick Text { textFormat: Text.RichText wrapMode: Text.WordWrap width: 440 font.pointSize: 12 text: `<p><u style="color: green;">green with underline</u> <span style="text-decoration: underline; text-decoration-color: green;"> green underline</span></p> <p><s style="background-color: lightgrey;">plain strikethrough</s> <span style="text-decoration: line-through; text-decoration-color: orange;"> orange strikethrough</span></p> <p><span style="text-decoration: overline;">plain overline</span> <span style="text-decoration: overline; text-decoration-color: red;"> red overline</span></p>` } - QQuickItem::dumpItemTree() が追加されました。これは C++ (QObject::dumpObjectTree()) と同様に、あるいは QML から呼び出すことができ、アイテムとそのすべての子要素に対するqDebug-演算子の出力を、ツリー構造がわかるようにインデントして表示します。
- TapHandler tapped 、 および シグナルには、 インスタンスと、タップされた の2つの引数が渡されるようになりました。シグナルハンドラが必要な場合は、これらの引数を受け取るための明示的な関数を記述する必要があります:singleTapped doubleTapped QEventPoint
buttononTapped: function(point, button) { ... } onDoubleTapped: (point, button)=> ... - DragHandler activeTranslation は、ドラッグジェスチャが開始されてからの移動量を保持します。 は、その後のドラッグジェスチャ中に発生した移動量の累積和を保持し、ジェスチャの合間に任意の値にリセットすることができます。persistentTranslation
Qt Quick コントロールモジュール
- 新たに追加されたコントロール:TreeViewDelegate 、Calendar 、CalendarModel 、DayOfWeekRow 、MonthGrid 、WeekNumberColumn 。
Qt Quick ダイアログ・モジュール
- FolderDialog およびMessageDialog が追加されました。これらは、対応しているプラットフォームではネイティブダイアログとして、その他のプラットフォームでは非ネイティブのQt Quick ダイアログとして機能します。
非ネイティブのダイアログは、Basic、Fusion、Imagine、Material、Universalといったすべての非ネイティブスタイルに対応しています。
Qt Widgets モジュール
- QToolBar では、キネティックホイールまたはトラックパッドによるスクロールがサポートされるようになりました。
ウィジェットベースの UI の外観や操作感をさらにカスタマイズできるよう、QStyle の新しい列挙型値がいくつか利用可能になりました。
- PM_LineEditIconMargin QLineEdit 内のアイコン周囲の余白をカスタマイズするため。
- SH_Table_AlwaysDrawLeftTopGridLines ヘッダーが非表示の場合でも、左側および上側のグリッド線が常に表示されるかどうかを制御します。
- SH_SpinBox_SelectOnStep 上下ボタンで値を変更した際に、テキストが選択されるかどうかを制御します。
- SP_TabCloseButton のタブにある閉じるボタンのアイコンを指定します。QTabBar
Qt Network Module
- QNetworkInformation transportMedium が追加されました。プライマリネットワークインターフェースの伝送媒体を返すプロパティです。
- QNetworkInformation また、isMetered も学習されます。ネットワークが従量制であるかどうかを返すプロパティです。
Qt Qml モジュール
- QML 型構造を C++ にコンパイルするテクニカルプレビュー版の QML 型コンパイラ (
qmltc) を追加しました。 - qmllint にいくつかの新しい警告が追加され、コンパイラインフラストラクチャを利用するようになりました。
- ヘッダーのみの qmlintegration モジュールを使用すると、qtdeclarative への依存関係を追加することなく、QML モジュールへの登録対象となる型をマークすることができます。これらは、新しいqt_generate_foreign_qml_types()CMake API を使用して QML モジュールに追加することができます。
- qmlcachegen は、パフォーマンス向上のため、適切な関数や式を C++ にコンパイルするようになりました。
- Binding およびPropertyChanges に、一般化されたグループ化プロパティのサポートが追加され、これらのコンテキストでグループ化プロパティの構文(例:
someId.someProperty)を使用できるようになりました。 - 基本的なQML Language Server が導入されました。
- QML_NAMESPACE_EXTENDED を通じて、他の名前空間の拡張としての名前空間のサポートを導入しました。
- 新しいパブリック CMake API を追加しました:
- QMLモジュール内のターゲットの外部型を登録するための関数:qt_generate_foreign_qml_types()(テクノロジープレビュー中)
- QMLコードをC++にコンパイルするため:qt_target_compile_qml_to_cpp()(テクノロジープレビュー中)
- QMLアプリケーションのデプロイ用:qt_generate_deploy_qml_app_script()(テクノロジープレビュー)
- インストール時に QML モジュールのランタイムコンポーネントを展開するための関数:qt_deploy_qml_imports()(テクノロジープレビュー中)
- QML モジュールに関する情報を照会する場合:qt_query_qml_module()(テクノロジープレビュー)
Qt Quick 3D モジュール
- ReflectionProbe が追加され、モデルに反射を表示できるようになりました。
- Particles3D: カスタム CBOR バイナリファイルからエミッティングシェイプを読み込む新しい
ParticleCustomShape3D要素が追加されました。 - Particles3D: スプライトパーティクルが 3D 環境ライトに対応するようになりました。
- Particles3D: 宣言型の動的なエミッティングや、トレイルの開始/終了時にエミッティングを行うための新しい「
DynamicBurst」要素。 - リソースの有効期間を明示的に設定するためのResourceLoader コンポーネントが追加されました(テクノロジープレビュー中)
- PrincipledMaterial: ClearCoat、Transmission、Refraction のサポートが追加されました。
- glTF2: インポーターが、以下の追加拡張機能をサポートするようになりました:KHR_materials_clearcoat、KHR_materials_ior、KHR_materials_transmission、KHR_materials_volume
Qt WebEngine モジュール
- Python 2 の代わりに Python 3 でビルドされるようになりました
- QML タッチ選択メニューを置き換えるための API を追加しました
- 新しいパブリック CMake API を追加しました:
- Hunspell辞書をQt WebEngine の
.bdicバイナリ形式に変換するための新しいパブリックCMake APIを追加: qt_add_webengine_dictionary()
- Hunspell辞書をQt WebEngine の
Qt Data Visualization モジュール
- Q3DSurface内のQSurface3DSeriesのワイヤーフレームの色を設定するための、新しいwireframeColor プロパティを追加しました。
- Q3DBarsのバーの各行に異なる色を設定するための新しいrowColors プロパティが追加されました。
- Q3DBars の個々のバーの余白を設定するための新しいbarSeriesMargin プロパティが追加されました。
- QAbstract3DGraph に、シリーズがすでに追加されているかどうかを確認するhasSeries 関数を追加しました。
- 16 ビットの高さマップのサポートを追加しました。
Qt Positioning モジュール
- Android および iOS プラットフォーム向けに、新しい `DirectionAccuracy ` 属性が追加されました。これは、提供された方位の精度を表します。
Qt Bluetooth モジュールAndroid および iOS プラットフォーム向けに、新しい `xml-ph-0000@deepl.internal` 属性が追加されました。これは、提供
- QBluetoothLocalDevice の Windows 実装を拡張しました。これにより、アダプタの状態が正しく報告されるようになり、その状態を切り替えることも可能になりました。接続済み/切断済みデバイスの追跡機能のサポートはまだ実装されていません。
- QBluetoothDeviceInfo API を拡張し、アドバタイズメント中に公開される Bluetooth Low Energy サービスデータを取得できるようにしました。
Qt Wayland Compositor モジュール
- カスタムシェル拡張機能を作成するためのAPIを追加しました。使用方法については、サンプルを参照してください。
- Qtで利用可能なすべてのウィンドウシステム機能をサポートするQtシェルを追加しました。
- presentation-time プロトコルのサポートを追加しました。
- さまざまなソースからのクライアントをサポートするため、同一サーバー内での複数の入力メソッドプロトコルのサポートが追加されました。
プラットフォームの変更点
テクノロジープレビュー対応プラットフォーム
WebAssembly
Qt for WebAssembly に対していくつかの改善が行われました。詳細については、Qt for WebAssemblyのプラットフォームドキュメントを参照してください。
- 画像および HTML テキストをシステムのクリップボードにコピー・貼り付けできるようになりました。
- SIMD サポートが追加されました。SIMD を有効にするには、ソースから Qt をビルドする必要がある点に注意してください。
- セカンダリスレッド上でQEventLoop::exec()およびQThread::exec()を呼び出す機能のサポートが追加されました。
- Emscripten Asyncify を使用して、メインスレッド上でQEventLoop::exec() およびQDialog::exec() を呼び出す機能のサポートを追加しました。Asyncify を有効にするには、Qt をソースからビルドする必要があることに注意してください。
- asyncifyを有効にしたビルドでも、ドラッグ&ドロップが機能するようになりました。
- Emscriptenの「WebSockets経由のエミュレートされたPOSIX TCPソケット」機能を使用し、WebSockets経由でのTCPおよびUDPソケットのトンネリングに対応しました。この機能は、メインスレッド上の非同期ソケットに限定されます。
ARM 版 Windows
ARM64 版 Windows は、Qt の最適化ビルドに関する問題がまだ解決されていないため、引き続き Technology Preview のままです。
モバイルプラットフォーム
Android
- アプリ内課金デモおよび「Qt 3D: Planets QML Example」に、Android 向けの改善が施されました。
- Gradle を 7.2.0 に、Android Gradle Plugin (AGP) を 7.0.2 に更新しました(JDK 11 以降が必要です)。
- CMake Android プロジェクト用に、欠落していた _make_aab ターゲットを追加しました。
- CMake 向けにマルチ ABI ビルドを追加しました。QT_ANDROID_ABIS を参照してください。
- QML モジュールは、ユーザーのビルドフォルダ内の「android-qml」という共通ディレクトリに配置されるようになりました。これは、androiddeployqt ツールの共通インポートパスとして機能します。
- QML テストベンチが Android ビルドで動作するようになりました。
iOS
- CMake ベースのプロジェクトで、デフォルトの起動画面が生成されるようになりました。
組み込みプラットフォーム
Boot to Qt
- Boot to Qt スタックが更新され、Yocto 3.4 (honister) を使用するようになりました。
- Qt PDF および Qt Language Server が、Boot to Qt スタックに組み込まれました。
その他
Wayland
DataDeviceV3プロトコルのサポートを実装しました。wl_seatのサポートをバージョン 7 にアップグレードしました。- サーバーが複数のインターフェースをサポートしている場合、入力方式プロトコルの選択をサポートしました。これは、QT_WAYLAND_TEXT_INPUT_PROTOCOL をプロトコルの名前に設定することで行えます。
APIの変更点のリスト
これらのページには、Qt 6.3 における API の変更点の概要が記載されています:
すべての Qt 6 リリースへの追加機能
Qt 6.0の新機能の一覧 | |
Qt 6.1の新機能の一覧です。 | |
Qt 6.2 の新機能の一覧。 | |
Qt 6.3 の新機能の一覧です。 | |
Qt 6.4の新機能の一覧。 | |
Qt 6.5 の新機能の一覧。 | |
Qt 6.6 の新機能の一覧です。 | |
Qt 6.7 の新機能の一覧です。 | |
Qt 6.8 の新機能の一覧。 | |
Qt 6.9 の新機能の一覧です。 | |
Qt 6.10 の新機能の一覧。 | |
Qt 6.11 の新機能の一覧。 | |
Qt 6.12の新機能の一覧です。 |
© 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.