Qt 6.3 の新機能

Qt 6.3 の新しいモジュールと復活したモジュール

Qt 6.3 では以下のモジュールが追加されました:

Qt 6.3 では、Qt 6.2 にはなかった以下のモジュールが再導入されました。すべてのモジュールは Qt 6 と CMake ビルドシステムに移植されました。

  • Qt PDF(テクニカルプレビューにて)

各モジュールの変更点の詳細なリストはQt 6 における Qt モジュールの変更点にあります。

Qt 6.3 の新機能

Qt Core モジュール

  • QtFuture::whenAll() とQtFuture::whenAny() 関数を追加しました。
  • パーミッション引数を受け付けるQDir::mkdir() とQFile::open() オーバーロードを追加しました。
  • QMetaType QFuture<T> を <void> に変換できるようになりました。QFuture
  • QDirIterator::nextFileInfo() が追加され、完全なファイル情報を取得できるようになった。
  • QLocale言語コードと言語値のマッピングに、どの ISO 639 コードタイプを考慮するかを指定するオーバーロードが追加されました。
  • QRegularExpressionMatch hasCaptured() メソッドが追加され、指定されたグループがキャプチャされたかどうかをテストできるようになりました。
  • QProcessEnvironment それぞれの が起動されたときに、プロセス環境を親プロセスから継承するかどうかを選択できる新しい列挙型とコンストラクタが追加された。QProcess

    警告: 警告: Qt の古いバージョンでは、デフォルトの動作は継承されましたが、ドキュメントには継承されないと書かれていました。Qt 6.3では、デフォルトのコンストラクタの動作が変更されました。つまり、QProcessEnvironment() で作成したQProcessEnvironmentQProcess を起動すると、空の環境で起動します。以前の動作に戻すにはQProcessEnvironment(QProcessEnvironment::InheritFromParent) を使用してください。

    また、新しい方法で構築されたインスタンスをテストするためのメソッドinheritsFromParent() が追加されました。

  • QVarLengthArray emplace() および () メソッドが追加されました。emplace_back
  • QLocaleQTimeQDateTime の構文解析とシリアライズで使用される時刻フォーマットは、AM/PM インジケータを取得するために 'aP' および 'Ap' フォーマット指定子を認識するようになりました。QTimeQDateTime では、ロケールは常にCであり、インジケータは大文字である。QLocale では、大文字小文字は amText() または pmText() のものと一致するようになりました。以前は、'aP' は小文字のインジケータに続く 'P'、'Ap' は大文字のインジケータに続く 'p' として読まれていた。P' や 'p' は書式指定子の一部として扱われるようになった。以前の動作を望む場合は、書式指定子として 'APp' や 'apP' を使うか、書式内で 'p' や 'P' を引用符で囲む。以前の'a'、'ap'、'A'、'AP'指定子に影響はありません。
  • QDebug QVarLengthArray オブジェクトをストリームできるようになりました。
  • QObject::findChildren() に名前を取らないオーバーロードが追加されました。
  • std::counting_semaphore および std::chrono との互換性を高めるため、QSemaphore にオーバーロードとメソッド名を追加しました。
  • 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 GUI モジュール

  • 自動ではない値でQGuiApplication::setLayoutDirection() を呼び出すと、インストールされているトランスレータに基づく自動検出が無効になるようになりました。
  • QDesktopServices::setUrlHandler() に渡された URL ハンドラは、破棄される前にunsetUrlHandler() を呼び出して削除しなければならなくなりました。ハンドラのデストラクタに依存して暗黙的に設定を解除することは非推奨となりました。
  • QVulkanWindow 物理デバイスでサポートされていると報告されているすべての Vulkan 1.0 機能が有効になりました。

Qt Quick モジュール

  • 新しい項目が追加されました:TreeView.
  • すべてのポインタハンドラは、設定可能なparent プロパティを持ちます。
  • HoverHandler と には プロパティがあり、hover イベントと wheel イベントがそれぞれハンドラの の後ろのアイテムとハンドラに伝播するかどうかを制御します。WheelHandler blocking parent
  • TapHandler gesturePolicy DragWithinBounds WithinBounds と似ていますが、ユーザーがポイントを押したままドラッグしても、 はドラッグ中にリセットされず、 シグナルはドラッグのしきい値に関係なく発せられます。これは、 を使って "オープニング "アニメーションを直接駆動しながら、(ポインタハンドラの例のパイメニューのような)メニューのようなプレス・ドラッグ・リリース・コンポーネントを実装するのに便利です。timeHeld longPressed timeHeld

  • QQuickItem::clipRect() は、viewport (親Flickable またはWindow) で表示される領域を提供するようになり、updatePaintNode() がより頻繁に呼び出される代償として、カスタムアイテムの最適化としてシーングラフノードの頂点を制限するために使用できます。新しいQQuickItem::ItemObservesViewportQQuickItem::ItemIsViewport フラグについてはドキュメントを参照してください。
  • メモリと起動時間を節約するために、TextTextEdit は、ビューポートの外側にあるために見えないテキストの大部分 (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-operator の出力をアイテムとそのすべての子について、ツリー構造を示すようにインデントして表示します。
  • TapHandler tapped singleTapped と シグナルは、 インスタンスと、 タップされたものという2つの引数を持つようになりました。シグナル・ハンドラが必要な場合は、これらの引数を受け取る明示的な関数を書く必要があります:doubleTapped QEventPoint button
    onTapped: function(point, button) { ... }
    onDoubleTapped: (point, button)=> ...
  • DragHandler activeTranslation persistentTranslation は、その後のドラッグ・ジェスチャー中に発生した移動の累積合計を保持し、ジェスチャー間で任意の値にリセットできます。

Qt Quick Controls モジュール

Qt Quick Dialogs モジュール

  • FolderDialogMessageDialog を追加しました。これらはサポートしているプラットフォームではネイティブ・ダイアログ、その他のプラットフォームでは非ネイティブのQt Quick ダイアログです。

    非ネイティブダイアログはすべての非ネイティブスタイルをサポートしています:ベーシック、フュージョン、イマジン、マテリアル、ユニバーサルです。

Qt Widgets モジュール

  • QToolBar がキネティックホイールやトラックパッドによるスクロールをサポートしました。

ウィジェットベースのUIのルック&フィールをカスタマイズできるように、QStyle enum値が追加されました:

Qt Network モジュール

  • QNetworkInformation transportMedium を学びました。プライマリ・ネットワーク・インターフェースのトランスポート・メディアを返すプロパティ。
  • QNetworkInformation isMetered も学習済みです。ネットワークが従量制かどうかを返すプロパティ。

Qt QML モジュール

  • QML 型構造を C++ にコンパイルする技術プレビュー QML 型コンパイラー (qmltc) を追加しました。
  • コンパイラのインフラストラクチャを使用するようになった qmllint に、いくつかの新しい警告を追加しました。
  • ヘッダのみのqmlintegrationモジュールにより、qtdeclarativeへの依存を追加することなく、QMLモジュールに登録する型をマークできるようになりました。これらの型は、新しいqt_generate_foreign_qml_types()CMake API を使って QML モジュールに追加することができます。
  • qmlcachegen が適切な関数や式を C++ にコンパイルするようになり、パフォーマンスが向上しました。
  • 新しいパブリック CMake API を追加しました:

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を追加

Qt Data Visualization モジュール

  • Q3DSurfaceQSurface3DSeries のワイヤフレーム色を設定する新しいwireframeColor プロパティを追加。
  • Q3DBars のバーの行に異なる色を設定する新しいrowColors プロパティを追加。
  • Q3DBars に、個々のバーのマージンを設定する新しいbarSeriesMargin プロパティを追加した。
  • QAbstract3DGraph に、系列が既に追加されているかどうかをチェックするhasSeries 関数を追加。
  • 16ビット・ハイトマップのサポートを追加。

Qt Positioning モジュール

  • Android と iOS プラットフォーム用に新しいDirectionAccuracy 属性が追加されました。これは提供された方位の精度を表します。

Qt Bluetooth モジュール

  • QBluetoothLocalDevice の Windows 実装を拡張。 アダプターの状態を正しく報告し、その状態をトグルできるようにした。接続/切断されたデバイスのトラッキングのサポートはまだありません。
  • QBluetoothDeviceInfo APIを拡張し、広告中に公開されるBluetooth Low Energyサービスデータを公開できるようにしました。

Qt Wayland Compositor モジュール

  • カスタムシェルエクステンションを作成するAPIを追加した。使い方はサンプルを参照。
  • Qtで利用可能なすべてのウィンドウシステム機能をサポートするQt Shellを追加しました。
  • 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 を有効にしたビルドで動作するようになりました。
  • EmscriptensEmulated POSIX TCP Sockets over WebSockets を使用して、WebSocket 上の TCP および UDP ソケットのトンネリングをサポートしました。このサポートはメイン・スレッド上の非同期ソケットに限定されます。

ARM上のWindows

Qt の最適化ビルドに関する問題がまだ解決されていないため、ARM64 上の Windows は技術プレビューのままです。

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

アンドロイド

  • アプリ内課金デモと Qt 3D: Planets QML Example にアンドロイド特有の改良を加えました。
  • Gradle を 7.2.0 に、Android Gradle Plugin (AGP) を 7.0.2 に更新しました(JDK 11 以上が必要です)。
  • CMakeのAndroidプロジェクトに欠落していた_make_aabターゲットを追加。
  • 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 リリースへの追加

What's New in Qt 6.0

Qt 6.0 の新機能の一覧です。

What's New in Qt 6.1

Qt 6.1 の新機能のリスト。

What's New in Qt 6.2

Qt 6.2 の新機能をリストアップ。

What's New in Qt 6.3

Qt 6.3 の新機能をリストアップ。

What's New in Qt 6.4

Qt 6.4 の新機能を一覧にしました。

What's New in Qt 6.5

Qt 6.5 の新機能をリストアップ。

What's New in Qt 6.6

Qt 6.6 の新機能をリストアップ。

What's New in Qt 6.7

Qt 6.7 の新機能をリストアップ。

What's New in Qt 6.8

Qt 6.8 の新機能をリストアップ。

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