Qt 6.1の新機能
Qt 6.1 で追加および復活したモジュール
Qt 6.1 では、以下のモジュールが追加されました:
Active Qt モジュール
Active Qt ActiveX および COM のサポートを提供し、これにより Qt for Windows 開発者は以下のことが可能になります:
- Qt アプリケーション内で、任意の ActiveX サーバーが提供する ActiveX コントロールや COM オブジェクトにアクセスし、利用できます。
- 任意の数の Qt オブジェクトやウィジェットを COM オブジェクトや ActiveX コントロールとして登録し、Qt アプリケーションを COM サーバーとして公開できます。
Qt Charts モジュール
Qt Charts は、アクセラレーション対応のシリーズ(AbstractSeries.useOpenGL)に対して、引き続き OpenGL のみをサポートしています。レンダリングに別のグラフィックス API が使用されている場合、そのようなシリーズは `Qt Quick ` ではレンダリングされません。
Qt Data Visualization Module
Qt Data Visualization モジュールは、OpenGL RHI バックエンドのみをサポートしており、環境変数QSG_RHI_BACKEND をopengl に設定する必要があります。これは、システムレベルで行うか、アプリケーションのmain()内でqputenv("QSG_RHI_BACKEND", "opengl"); と定義することで行えます。
Qt Device Utilities モジュール
ネットワーク機能のみをサポートしています。
Qt Lottie モジュール
この Qt Lottie Animation モジュールは、Qt 6 および CMake ビルドシステムに移植されました。
Qt SCXML また、Qt StateMachine
Qt State Machine には、Qt 5 のQt Core に含まれていた API が含まれています。インストーラー内のQt State Machineパッケージには、 Qt SCXML および Qt State Machine モジュールが含まれています。
Qt Virtual Keyboard モジュール
この Qt Virtual Keyboard モジュールは、Qt 6 および CMake ビルドシステムに移植されました。
- 新しい辞書マネージャーにより、アプリケーションでユーザー定義の辞書(電話帳など)を実装できるようになりました。
- VirtualKeyboardSettings に新しいプロパティが追加されました。
- Cerence Handwriting (T9 Write) および XT9 のサポートが追加されました。
Qt 6.1 の新機能
Qt Core モジュール
- QFuture には、さまざまな状態のフューチャーを作成するための新しい便利関数が追加され、コンテキストオブジェクトのスレッド内でその継続を呼び出せるようになりました。
- qfloat16 は初期化せずに生成できるようになりました。
- <QtMath> は、qHypot() を提供し、std::hypot() を任意の数の引数に対応するように一般化し、qfloat16 引数をサポートしています。
- qAddOverflow()、qSubOverflow()、およびqMulOverflow() 関数により、オーバーフロー防止の算術演算がサポートされるようになりました。
- removeIf() メソッドおよびerase_if() のサポートが、より多くのクラスに拡張されました:
- QHash、QMap およびそれらの Multi バリアント。これらの述語は、std::pair またはコンテナ独自のイテレータを受け取ります。
- QSetまた、標準ライブラリとの互換性を確保するため、位置ヒントを受け取る(ただし無視する)insert()のオーバーロードが追加されました。
- QString、QByteArray およびQList には、指定された値のすべてのインスタンスを削除するためのerase() のサポートも追加されました。
- QVarLengthArray、さらにerase()のサポートに加え、removeAll()およびremoveOne()メソッドも追加されました。
- QStringViewのAPIには、count()、contains()、indexOf()、lastIndexOf()、constBegin()、およびconstEnd()が追加されました。
- QLocale その列挙型から ISO コードへのマッピング、およびその逆のマッピングを提供します:languageToCode()、scriptToCode()、countryToCode()、codeToLanguage()、codeToScript()、および codeToCountry()。
- QSocketNotifier より柔軟な作成に対応するようになりました。
- QOperatingSystemVersion::version()、QMetaType::hasRegisteredDataStreamOperators()、QUntypedBindable::isReadOnly() が追加されました。その名前から、その機能が十分伝わることを願っています。
- QJniObject およびQJniEnvironment をパブリック API として追加しました(主に Android で使用されます)。
- オブジェクトのプロパティバインディングのAPIが改良され、Qt Core クラスにバインディングが追加されました。詳細については、「プロパティバインディング」に関するブログ記事をご覧ください。
Qt GUI モジュール
- QColorSpace では、カスタム転送関数をテーブルとして設定できるようになりました。
- QTextDocument QTextDocument をサブクラス化して loadResource() をオーバーロードする代わりに、リソースプロバイダ関数を設定できるようになりました。
- Vulkan API ラッパー(QVulkanFunctions 、QVulkanDeviceFunctions )は、Vulkan 1.1 および 1.2 のコア API も公開するようになりました。
- また、QVulkanInstance には、インスタンス作成前にサポートされているインスタンスレベルのバージョンを照会できるようにする新機能(supportedApiVersion())が追加されました。
- QPainter::VerticalSubpixelPositioning ヒントが追加されました。これは現在、Freetype フォントバックエンドでのみサポートされており、利用可能な場合、一部のメモリと追加の処理コストを犠牲にすることで、テキストの垂直方向におけるサブピクセル単位の位置決めが可能になります。 ほとんどのユースケースではこれを無効にしておくべきですが、動的に変換されたペインター上で描画された要素を垂直方向に整列させたい、といった非常に特殊なケースでは有用です。
Qt Widgets モジュール
- QLabel には、QTextDocument 内のリソースプロバイダ関数に対するセッターおよびゲッターメソッドがあります。詳細については、Qt GUI モジュールの変更点をご確認ください。
Qt Network Module
- QNetworkCookie は SameSite 機能をサポートするようになりました。
- QNetworkInformation が導入されました:
- QNetworkInformation 現在、システムAPIを使用してシステムの到達可能性を公開しています。
- 現在、Darwin、Windows、Android、および Linux 上の NetworkManager をサポートしています。
- QSslSocket および関連するQSsl クラスを支えるTLSバックエンドは、プラグイン指向の設計へと変換されました。
- QtNetwork の「ssl」サブモジュール内のパブリッククラスおよびプライベートクラスは、TLS実装に依存せず、低レベルのAPIや詳細には公開されなくなりました。
- 既存の TLS バックエンド(OpenSSL、SecureTransport、Schannel)は、サポートしているクラス、機能、プロトコルを報告するようになりました。
- (Qt XML を使用する)アプリケーションが、QSslSocket および関連クラスで使用される独自のバックエンドを提供することが可能になりました。
Qt Qml モジュール
- QJSValue 単独では不可能だった、JavaScript の実行をよりきめ細かく制御するために、QJSPrimitiveValue およびQJSManagedValue が追加されました。
- CMake 関数 qt6_add_qml_module(現在も Tech Preview 段階)は、qmllint ターゲットを追加し、ターゲットの QML ファイルに対して qmllint を実行します。
- QQmlPropertyMap に、
freeze()およびmulti-insert()が追加されました。
Qt Quick 3D モジュール
- テクノロジープレビュー:「インスタンス化されたレンダリング(Instanced Rendering)」は、異なる変形を持つ同じオブジェクトの複数のインスタンスを描画するための最適化された方法です。この機能は機能的には完成していると見なされていますが、ユーザーのフィードバックに基づいてAPIに軽微な変更が加えられる可能性があります。Qt 6.2での完成が予定されています。
- テクノロジープレビュー:「3D パーティクル」は、3D シーンにパーティクルエフェクトを追加するための API です。この API はテスト可能な状態ですが、機能的にはまだ完全ではありません。
- Qt Quick 3Dでは、モーフターゲットアニメーション(すべての頂点が2つの位置セット間で補間され、ある形状が別の形状へと変化しているかのような印象を与えるアニメーション)がサポートされるようになりました。
Qt 5互換モジュール
QtGraphical Effects はQt 6には同梱されていませんが、多くのエフェクトが新しいグラフィックスアーキテクチャに移植され、Qt5Compatモジュールに追加されています。例えば、DropShadow を利用するには、QMLインポートとしてQt5Compat.Graphical Effectsを追加します。 いくつかのぼかし効果など、動的なシェーダー生成に依存する複雑なエフェクトは削除されました。
APIの変更点のリスト
これらのページには、Qt 6.1における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.