Qt 6.2 の新機能

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

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

  • QtQuick.Dialogs - Qt がネイティブのダイアログを提供していないプラットフォームで、 フォールバックを提供する QML モジュールです。 と はこのリリースで利用可能です。Qt Quick FileDialog FontDialog

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

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

  • Qt Bluetooth
    • BlueZ 4 のサポートが削除されました。
    • Win32 バックエンドが削除されました。その結果、Mingw-w64 を使ったQt Bluetooth のサポートがなくなりました。
    • QML API が削除された。
    • QBluetoothTransferManager と関連クラスが削除されました。
    • ペアリングエージェントに関する機能がQBluetoothLocalDevice から削除されました。
  • Qt Multimedia
    • Qt Multimedia public API は 5 つの大きな機能ブロックから構成されています。各 API は Qt 5 と比較して大きく変更されています:
      • デバイス検出
      • 低レベルオーディオ
      • 再生とデコード
      • キャプチャと録画
      • ビデオ出力パイプライン
    • 現在サポートされているバックエンド
      • Linux:GStreamer
      • WindowsWMF
      • macOS/iOS:AVFoundation
      • Android:MediaPlayer および Camera API
  • Qt NFC
    • Linux/NearDのサポートを削除しました。
    • iOS のサポートを追加。
  • Qt Positioning
    • 多くのプロパティをバインド可能にした。
    • QGeoPolygon::path() の名前をQGeoPolygon::perimeter に変更。
    • QGeoLocation 境界領域として の代わりに を使用するようになりました。QGeoRectangle QGeoShape
    • 複数の位置決めクラスのerror() シグナルの名前をerrorOccurred() に変更しました。
    • QGeoPositionInfoSourceFactoryV2 が削除され、QGeoPositionInfoSourceFactory が作成されるオブジェクトのカスタム・パラメータをサポートするようになりました。
    • NMEA サポートが再設計されました。serialnmeaプラグインの名前がnmeaに変更され、TCP ソケットまたは raw ファイルからの入力ストリームの読み取りに対応しました。nmeaSource プロパティが削除されました。
  • Qt Remote Objects
    • localabstract ローカル接続バックエンドが抽象名前空間をサポートするようになりました(これは Linux 固有の拡張です)。
    • .rep-ファイルがサポートされるようになりました:
      • ファイルが以下をサポートするようになりました。
      • QFlags.
      • マルチラインコメント(Cスタイル)。
    • POD-types および.rep ファイルのQMap およびQHash プロパティのキーとして、enum およびflags がサポートされました。
  • Qt Sensors
    • ほとんどのQMLのフェーシング・プロパティがバインド可能になりました。
    • Sensor::type および プロパティが定数としてマークされるようになりました。QSensor::type
    • ビジー状態もクリアできるよう、QSensorBackend::sensorBusy()にパラメータを追加。
    • qtimestamp の typedef を削除。
    • センサーtype の文字列の名前をsensorType に変更。
    • Windows に対応:Windows: Windows 10 API を要求できるようになり、対応するセンサーの数が増えた。
    • サポートされるプラットフォームとして TI Sensor Tag が削除された。
    • Linuxsysfs バックエンドが削除されました。
    • センサージェスチャーのサポートが削除されました(入力歓迎:QTBUG-97066)。
    • Sensorfw 自体がまだ Qt 6 に移植されていないため、プラットフォームとしての Sensorfw が削除されました。
    • Sensorfw バックエンドのみを持っていたセンサータイプ (IRProximity, Lid, and Tap) はサポートされなくなりました。
    • バックエンドを持たないセンサータイプは削除されました(高度計、距離、ホルスター)。
  • Qt Serial Bus
  • Qt Serial Port
  • Qt WebChannel
    • QWebChannel プロパティがバインド可能になりました。
    • QWebChannel のプロパティ更新間隔が設定できるようになりました。更新間隔50msはデフォルトのままです。
    • QWebChannel BINDABLE プロパティのプロパティ更新に対応しました。ただし、ホスト・プロパティが NOTIFY シグナルを持っていない場合、クライアント側は汎用コールバック・メカニズムを提供しません。
    • 異なるスレッドに住んでいるオブジェクトからのシグナルが正しく処理されるようになりました(QTBUG-51366)。
  • Qt WebEngine
    • Qt Quick のサブモジュールの名前が QtWebEngine からQtWebEngineQuick に変更されました。
    • QWebEnginePage を含むいくつかのクラスがQtWebEngineWidgets からQtWebEngineCore に移動されました。
    • 以前はQWebEnginePage からの派生でしかアクセスできなかったいくつかの機能が、同期シグナルを使用してアクセスできるようになりました。
    • QWebEngineProfile に、特定の URL のアイコンを検索するための Favicon API が追加されました。
    • 新しいQWebEngineLoadingInfo クラスは、読み込みの成功または失敗に関する詳細を提供します。
  • Qt WebSockets
  • Qt WebView

Qt 6.2 の新機能

Qt Core モジュール

  • 機能追加:
    • QByteArrayView::compare() を追加。
    • メソッド QFlags::test(Any)Flag(s) を追加。
    • ハッシュを制御するためにQHashSeed を追加した(シードは size_t になった)。これは qGlobalQHashSeed と qSetGlobalQHashSeed を置き換える。
    • PRIxQTDATATYPEマクロを追加し、キャストや警告なしでprintf()スタイルの書式設定ができるようになりました。
  • 多くのプロパティをバインド可能にした。
  • Grapheme クラスタが絵文字を扱えるようになりました。
  • Windows上のUNCパスとネットワーク共有が一貫して処理されるようになりました。
  • コンテナ(主にQString,QByteArray とそれらのビュー)の様々なindexOf()lastIndexOf() メソッドでfrom と呼ばれる start-offset パラメータの扱いがより首尾一貫したものになりました。
  • Qt 6.0 以降のQString::number() と同様に、QByteArray::number() の符号付き整数型のオーバーロードで、負の整数とサポートされる任意の基数を渡した場合に、10 を除くすべての基数に対して符号なし型に強制する代わりに、マイナス記号の後に数値の絶対値が続くテキストを返すようになりました。
  • QCalendar カスタムバックエンドのIDからの構築に対応しました。
  • QChar QPoint と は、単に再配置可能なのではなく、プリミティブになりました。QPointF
  • QCoreApplication::exit()がquit()と同様にスロットとなりました(長い間ドキュメントで主張されていたとおりです);QEventLoopQThread についても同様です。
  • QDateTime time_tの範囲を人為的に1970年から2037年に制限するのではなく、(プラットフォームがそのような情報を提供する限りにおいて)time_tの範囲全体でタイムゾーンを考慮するようになりました。
  • QFlags の値型の動作に肉付けを行い、より体系的に使用されるようになりました。
  • C++20用にビルドする場合、QList (したがって、QVector )は、contiguous_iterator になり、contiguous_range を満たすようになりました。
  • QLocalSocket::waitFor*()メソッドがWindows上で二重操作をサポートするようになった(Unix上ではすでにサポートされていた)。
  • QLockFile メソッドに std::chrono オーバーロードが追加され、UTC とローカルタイム間の不要な変換を回避できるようになりました。
  • QString char8_tからビルドできるようになった(利用可能な場合)。
  • QThreadPool のスレッド優先度を設定できるようにした。
  • 多くのバグ修正、クリーンアップ、ドキュメントの改善。

Qt GUI モジュール

  • QImage に 16 ビットと 32 ビットの浮動小数点画像フォーマットを追加。
  • RGB 画像をグレースケール画像に変換したり、RGB カラーをグレースケール画像にペイントする際、ガンマ補正され、入力色空間の輝度値が生成されるようになりました。
  • CSSのtext-decoration-color属性が、アンダーライン、オーバーライン、取り消し線付きのリッチテキストスパンでサポートされるようになりました。

Qt Quick モジュール

Qt Quick Controls モジュール

  • 新しいコントロールSelectionRectangle を追加しました。このコントロールは、スタイル付き選択矩形を使用して、TableView のセルを選択するために使用できます。

Qt Widgets モジュール

Qt Network モジュール

  • QSslSocket
    • 以前(Qt 6.1)はプラグインのようなクラスに変換されていた TLS バックエンドは、QtNetwork から移動され、本物のプラグインとして実装されました。
    • 例えば、OpenSSL と Schannel、OpenSSL と SecureTransport などです。
  • QNetworkInformation
    • ユーザーがキャプティブポータルでネットワークに接続されているかどうかを判断するために使用できる新しいプロパティ、isBehindCaptivePortal を導入しました。

Qt QML モジュール

  • コア言語
    • オプショナル・チェイニングのサポートを追加。
    • キャストを追加:これらは主にツーリングに役立ちますが、return (obj instanceof Item) ? obj.width : 42 のようなコードを(obj as Item)?.width ?? 42 に置き換えるために使用することもできます。
  • QML モジュール用のパブリック CMake API を追加:qt_add_qml_module()
    • qmldirqmltypes を生成します。
    • プラグインが型のみを登録する場合、自動的にプラグインを作成します。
    • linting ターゲットの組み込みサポート。
  • QMLツール
    • qmllint
      • 警告の厳しさを細かく設定できるようになりました。警告を完全に無効にしたり、情報提供のみにしたり、0以外の終了コードにしたりできます。
      • ディレクトリ毎に警告レベルを設定するための設定ファイル(.qmllint.ini)を追加。デフォルトの設定ファイルはqmllint --write-defaults を使用して生成できます。
      • コメントによって警告をブロック内で無効にできるようになりました;//qmllint enable/disable <warning-type1> <warning-type2...>
      • ファイルのリンティング時のパフォーマンスが大幅に改善され、特にインポートが多い複数のファイルのリンティング時のパフォーマンスが大幅に改善されました。
      • ツールで使用する JSON 出力のサポートを追加しました。
    • qmlformat
      • qmlformat 新しいqmldomライブラリを利用するようになり、一般的により良い出力が得られるはずです。

Qt Quick 3D モジュール

  • インスタンス・レンダリングのサポートを追加。同じオブジェクトの複数のインスタンスを異なるトランスフォームで描画する最適化された方法です。
  • 3Dシーンにパーティクル効果を追加するAPI、3Dパーティクルを追加しました。これにはモデルブレンドパーティクルのテクノロジープレビューが含まれます。
  • シーンとテクスチャの両方で、3Dの2DアイテムのためのQt Quick Inputイベントを追加。
  • シーン内の任意のポイントからレイベースでピッキングするための API を追加。
  • RuntimeLoader を追加し、実行時に glTF2 ファイルをロードできるようにしました。
  • 視差オクルージョンマッピングを実装:ジオメトリを追加することなく、ハイトマップを使用できるようになりました。
  • マテリアルに深度描画モードを実装:マテリアルの深度レンダリングを細かく制御できるようになりました。

Qt Data Visualization モジュール

  • 背景レンダリングモードを修正しました。
  • RenderDirectToBackground_NoClear は Qt 6 でウィンドウをクリアしないオプションがなくなったため、非推奨になりました。
  • たくさんの細かいバグ修正。

Qt Charts モジュール

  • QScatterSeriesQLegend で選べるマーカーの形を増やした。
  • QXYSeriesQLegendライトマーカー機能を追加。これは点のレンダリングを軽量化したものです。
  • QXYSeriesQBarSet に、メソッド呼び出しによって一連の点を選択する機能を追加。
  • QXYSeries に、選択したポイントに使用する色を設定したり、カスタムライトマーカーを使用したりする機能を追加。
  • QBarSet で、選択したバーに使用する色を設定する機能を追加。
  • QXYSeriesベストフィット線を表示する機能を追加。
  • QXYSeries で個々の点の外観をカスタマイズする機能を追加。 この機能では、各点の可視性、ラベルの可視性、サイズを設定できる。
  • QXYSeries にメソッドsizeBy() を追加し、渡された値に従ってシリーズ内のポイントのサイズを調整するようにした。
  • QXYSeries に、渡された値とグラデーションに従って系列内の点の色を調整するメソッドcolorBy() を追加。
  • カラー・スケールを表示するcolorBy()機能をサポートする新しい軸クラスQColorAxis を追加。
  • 軸のラベルの切り捨てを無効にする機能を追加しました。
  • 最近使用されたテキスト境界をキャッシュすることによるパフォーマンスの向上。
  • setInteractive() メソッドによるQLegend へのインタラクティブ・サポートの追加。有効にすると、ダブルクリックで凡例を切り離すことができる。一度切り離すと、凡例はドラッグしてサイズを変更したり、端からドラッグしてチャートの側面に再度取り付けることができる。
  • QLegendattachedToChartChanged() シグナルを追加。
  • 凡例の例を更新。

Qt for Python

  • Qt for Python ドキュメントに新しい例、チュートリアル、ビデオを追加。
  • Python 3.10rc2 に対応。
  • QtDBus,QtNetworkAuth,QtBluetooth モジュールを追加。
  • C++コンテナをPythonにコピーして使用するのを避けるために、Shibokenの新機能、不透明コンテナを追加しました。
  • PySide をソースからビルドするときにqmake の代わりにqtpaths を使えるようになりました。
  • QThreadPool のいくつかのメソッドに std::function のサポートを追加しました。
  • 新しい QML 関数とqmlRegisterSingletonInstance のサポートを追加しました。

プラットフォームの変更

技術プレビュープラットフォーム

ARM上のWindows

  • テクノロジー・プレビュー・プラットフォームとして Windows on ARM64 を追加。
  • ビルドターゲットとしてサポート。ホストは未サポート。
  • 既知の制限事項
    • QtWebEngine をサポートしていません。Chromium の公式サポートがありません。
    • SSL のサポートはまだありません。OpenSSL の公式サポートがありません。

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

アップルシリコン上の macOS

  • ターゲットおよびホストプラットフォームとしての公式サポートが追加されました。
  • Qt SDK のライブラリはユニバーサルバイナリとしてビルドされます。
  • 既知の制限事項
    • SSL のサポートがありません。
    • postgresqlodbcデータベースプラグインがありません(QTBUG-93204)。
    • JIT サポートがありません(QTBUG-93206)。

Linux上のWaylandクライアント

  • タッチパッドのピンチジェスチャーは、コンポジターがpointer-gestures-unstable-v1プロトコルを介して送信する場合、Zoom と RotateQNativeGestureEventを生成するようになりました。これにより、Qt Quick PinchHandler をタッチパッドのピンチジェスチャーで操作できるようになりました。2本指、3本指、または4本指のジェスチャが認識されます。3本または4本の指でスワイプすると、Qt::PanNativeGesture 型のジェスチャーを生成できます。2本指のフリックでは、従来どおりQWheelEventのジェスチャーが生成される。

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

アンドロイド

  • QtAndroidExtras の QtAndroid 名前空間の下にあったメソッドの一部(例えば、sdkVersion() や context())は、QNativeInterface::QAndroidApplication に移動されました。
  • 新しいパーミッションAPIをQCoreApplication
  • 残りの QtAndroidExtras API は、(Intents や Services などの)クロスプラットフォームの代替が整うまで、qtbase のプライベート API として残されました。
  • 廃止された Ministro のコードを削除しました。
  • AndroidManifest.xmlを簡素化し、ユーザーに関連するタグのみを含むようにした。
  • QCDebug()とその友達は、Androidlogcatのタグとしてカテゴリーを使用するようになりました。
  • Android Gradle プラグインを 4.1.3 に更新。
  • Android 9+ のウィジェット用の Android スタイルはまだ影響を受けますが(QTBUG-96149)、スタイルに関する非 SDK API バグを修正しました(QTBUG-71590)。
  • Google Play ストアの要件に従って、デフォルトの targetSdkVersion を 30 に設定しました。
  • 使用されるビルドツールのバージョンとプラットフォームのバージョンは 30 に変更されました。
  • QDesktopServices カスタム・ハンドラが有効になり、例えばAndroid App Linksと連携できるようになった。
  • QtActivity の独自の拡張を作成することなく、アプリケーションがインテントのソースを決定できる情報を追加しました。
  • QML モジュールのインポートを修正し、複数の QML ルートパスの可能性を追加しました。
  • Android での Vulkan ビルドを修正しました。

iOS

  • CMake サポートを改善。
  • 既知の問題:
    • デフォルトの起動画面のストーリーボードがない。
    • カスタムライブラリのインストールに失敗する(QTBUG-95381)。

組み込みプラットフォーム

Qt for Device Creationライセンスで利用できます。

Boot to Qt

  • Boot to Qt スタックが Yocto 3.3 (Hardknott) を使用するように更新されました。
  • リファレンスターゲットとして Intel NUC10 (64bit i5 x86) を追加しました。
  • ターゲットとして NVidia Jetson Tegra X2 を追加。

QNX

  • ホストとして QNX バージョン 7.1 および Ubuntu 20.04 を追加。
  • 参照ターゲットとしてNXP iMX8QM を追加。

INTEGRITY

  • ホストとしてINTEGRITYバージョン19.0.13とUbuntu 20.04を追加。
  • リファレンスターゲットとしてQualcomm Snapdragon 8155Pを追加。

WebOS

Qt 6.2 が、Ubuntu 20.04 を開発ホストとして、Raspberry Pi4 ハードウェアを使用した LG webOS OSE 2.13.1 で動作することが確認されました。

API 変更点のリスト

これらのページでは、Qt 6.2 における 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.