数ヶ月の開発といくつかのテストバージョンの後、 Qt Companyは、Qt6の安定したブランチを立ち上げました。 これには、重要なアーキテクチャの変更が含まれます。
新しいバージョンは、Windows 10、macOS 10.14以降、Linux(Ubuntu 20.04以降、CentOS 8.1以降、OpenSuSE 15.1以降)、iOS 13以降、およびAndroid(API 23以降)プラットフォームと互換性があると主張しています。
QT6の主なノベルティ
主なノベルティのうち 言及され、彼らが働いていた場所、 それらの3つは、XNUMXDAPIに依存しない抽象化されたグラフィカルAPIです。 オペレーティング・システム。 新しいQtグラフィックスタックの重要なコンポーネントは、RHI(Rendering Hardware Interface)レイヤーを使用するシーンレンダリングエンジンです。 OpenGLだけでなくQtQuickアプリケーションを提供するために Vulkan、Metal、Direct 3DAPIでも同様です。
精巧に作られています ユーザーインターフェイスを作成するためのAPIを備えたQtQuick3Dモジュール Qt Quickに基づいており、2Dと3Dのグラフィック要素を組み合わせています。 Qt Quick 3Dを使用すると、QMLを使用して、UIP形式を使用せずに3Dインターフェイス要素を定義できます。 3Dおよび2D用のQtQuick 3Dでは、ランタイム(Qt Quick)、シーンレイアウト、およびアニメーションフレームを使用し、ビジュアルインターフェイスの開発にQt DesignStudioを使用できます。
このモジュールは、QMLをQt3Dまたは3DStudioコンテンツと統合する際の大きなオーバーヘッドなどの問題を解決し、フレームレベルのアニメーションと2Dと3D間の変換を同期する機能を提供します。
もう一つの目新しさは コードベースの再構築 小さな部分に分解して実行され、 ベース製品のサイズの縮小。 開発者ツールとカスタムコンポーネントが、Qtマーケットプレイスからアドオンとして利用できるようになりました。
一方、私たちはそれを見つけることができます レイアウトエンジンとスキンが組み込まれています ネイティブのQtウィジェットとQtQuickベースのアプリケーションのルックアンドフィールを実現するために統合されました さまざまなモバイルおよびデスクトッププラットフォームから.
Qt Quick 6は、ネイティブmacOSおよびWindowsスタイルのサポートを追加します (AndroidおよびLinuxのネイティブMaterialおよびFusionスタイルのサポートはQt5で実装されました)。 iOSのネイティブスタイルの実装は、Qtの次の重要なリリースで期待されています。
以前にQtX11Extras、QtWinExtras、およびQtMacExtrasモジュールによって提供されていたプラットフォームサポート機能は、Qtから直接利用できるプラットフォーム固有のAPIに移動されました。
ツールキット CMakeはビルドシステムとして使用されます QMakeの代わりに。 QMakeを使用したアプリケーション構築のサポートは維持されていますが、QtはCMakeを使用して構築されるようになりました。
さらに、 開発中にC ++ 17標準に移行しました (以前はC ++ 98が使用されていました。Qt5.7-C++ 11で)、C ++コードで使用する機能がQMLおよびQtQuickで提供される機能の一部が追加されました。 これには、QObjectおよび同様のクラスの新しいプロパティシステムが含まれます。
QMLからのリンクを操作するためにエンジンが統合されました Qtカーネルでは、リンクの負荷とメモリ消費を削減し、QtQuickだけでなくQtのすべての部分でリンクを利用できるようにします。
の 目立つその他の変更:
- QObjectとQMLで複製されたデータ構造の統合(メモリ消費を削減し、起動を高速化します)。
- コンパイル時の生成を優先して、実行時のデータ構造の生成を避けます。
- プライベートプロパティとメソッドを使用して、内部コンポーネントを非表示にします。
コンパイル時のリファクタリングとバグ診断のための開発ツールとの統合が改善されました。 - PNG画像を圧縮テクスチャに変換したり、シェーダーとメッシュを特定のハードウェア用に最適化されたバイナリに変換したりするなど、コンパイル時のグラフィック関連リソースを処理するためのツールが追加されました。
- PythonやWebAssemblyなどの追加言語の拡張サポート。
- 文字列処理とUnicode処理が大幅に改善されました。
- QListクラスとQVectorクラスがマージされ、結果のサマリークラスは配列のようなQVectorコンテナモデルを使用します。
最後に、 Qt5と同等になると予想されます システムサポート Qt6.2バージョンではリアルタイムで。
Qt 6.1の次の重要なリリースは6.2月に、Qt 2021LTSはXNUMX年XNUMX月に予定されています。