ニュース

クロスプラットフォームアプリフレームワーク「Qt」が8年ぶりにメジャーリリース

C++17、Metal/Vulcanを採用した「Qt 6.0」

公式ブログのリリース記事

 クロスプラットフォーム対応のアプリケーションフレームワーク「Qt」の新しいメジャーバージョン「Qt 6.0」が、12月8日にリリースされた。2012年の「Qt 5.0」以来、実に8年ぶりのメジャーバージョンアップとなる。

 「Qt」はC++言語で開発されているフレームワークで、主要なデスクトップOSから組込みOSまでの幅広いプラットフォームで動作するアプリケーションを単一のコードで開発できるのが特徴。とくに近年では組込みシステムで採用が急増しているという。

 最新版の「Qt 6.0」は、この8年間に起こった技術革新――C++言語の拡充や新しい3DグラフィックスAPIの登場――にキャッチアップするとともに、可能な限り「Qt 5.0」との互換性を保ちつつ、コードベースやツールチェインの見直しと再編が図られている。

  • C++17:最近のC++言語仕様「C++17」へアップグレード。コアライブラリとAPIもブラッシュアップされる
  • 次世代グラフィックスアーキテクチャー:「OpenGL」に大きく依存していた「Qt 5」のアーキテクチャーを見直し、「Metal」と「Vulkan」を導入。RHI(レンダリングハードウェアインターフェイス)と呼ばれる抽象化レイヤーが新設され、OSネイティブの3DグラフィックスAPIを利用できるように(Windowsの場合は「Direct3D」)
  • デスクトップスタイリング:「Qt Quick」コントロールがそれぞれのOSでネイティブコントロールと同じ見た目に(Windows/Mac)。iOSでもネイティブスタイルの実装を予定
  • 2D/3Dの統合:2Dグラフィックスの「Qt Quick」、3Dグラフィックスの「Qt 3D Studio」と役割が分かれていたツールを統合。「Qt Quick」を拡張した「Qt Quick 3D」で2D/3Dをシームレスに扱えるようになった。「Qt 3D」も引き続き利用可能で、RHIによりパフォーマンスが向上している
  • ビルドシステムとパッケージング:「Qt 6」自身を「CMake」でビルドするように。もちろんアプリ開発者も利用できる。アドオンの多くはパッケージマネージャーを介して配信
ダークモードのMacスタイル
Windowsスタイル

 対応OSは、以下の通り。古いOSはサポートが打ち切られているので注意したい。

  • Windows 10
  • macOS 10.14以降
  • Linux(Ubuntu 20.04、CentOS 8.1、OpenSuSE 15.1)
  • iOS 13以降
  • Android(API level 23以降)

 なお、コードベースのクリーンアップに伴い、「Qt 5」でサポートされていた一部の機能は削除されている。これらの機能は「Qt 5.15」で非推奨とマークされているので、チェックするとよいだろう。利用頻度の高い一部の機能に関しては、「Qt5CoreCompat」モジュールでの提供も行われている。

 また、「Qt 6」はアドオンモジュールのサポートが十分でないが、これに関しては「Qt 6.2」をリリースする時点でほとんどのアドオンを再サポートできるようにしたいとしている。