たくさん Qt開発者はすでに最初のバージョンをリリースしています 新しいブランチテスト Qtの6、重要なアーキテクチャの変更が提案され、C ++ 17標準をサポートするコンパイラが必要になります。
一部について 主な変更点、最初に強調表示されているのは 3Dスタンドアロン抽象グラフィックAPI オペレーティング・システム。 これは、新しいQtグラフィックスタックの重要なコンポーネントであり、RHI(Rendering Hardware Interface)レイヤーを使用して、Qt QuickアプリケーションがOpenGLだけでなく、3D API上でも動作できるようにするシーンレンダリングエンジンです。Vulkan、Metal、直接。
Qt Quick3Dモジュールの場合 これにより、QMLを使用して、UIP形式を使用せずに3Dインターフェイス要素を定義できます。 これでランタイムを使用できるようになりました (Qtクイック)、 シーンデザインとアニメーションフレーム、およびインターフェイスのビジュアル開発にQt DesignStudioを使用します。
モジュール QMLを統合する際の高いオーバーヘッドなどの問題を解決します Qt3Dまたは3DStudioのコンテンツを使用して、2Dと3Dの間でアニメーションと個々のフレームレベルの変換を同期する機能を提供します。
もうXNUMXつの重要な変更は、コードベースの再構築です。 それをより小さなコンポーネントに分割し、基本製品のサイズを縮小します。 開発者ツールと専用コンポーネントは、Qtマーケットプレイスを通じて配布されるプラグインとして提供されます。
さらに、 QMLの大幅な近代化が際立っていることを私は知っています:
- 強い型付けのサポート。
- QMLをC ++にコンパイルする機能 およびマシンコード。
- JavaScriptの完全サポート転送 オプションカテゴリに移動します(フル機能のJavaScriptエンジンを使用するとリソースを大量に消費するため、マイクロコントローラーなどの機器でQMLを使用できなくなります)。
- QMLでのバージョンの拒否。
- QObjectとQMLで重複するデータ構造の統合 (メモリ消費を減らし、起動をスピードアップします)。
- コンパイル時の生成を優先して、実行時のデータ構造の生成を避けます。
- プライベートプロパティとメソッドを使用して、内部コンポーネントを非表示にします。
- 改善された統合 コンパイル中のエラーをリファクタリングおよび診断するための開発ツールを使用します。
- 加えます コンパイル段階でグラフィック関連のリソースを処理するためのツールたとえば、PNG画像を圧縮テクスチャに変換したり、シェーダーとメッシュを特定のコンピューター用に最適化されたバイナリ形式に変換したりします。
- テーマとスタイルのための統一されたエンジンを組み込む これにより、さまざまなモバイルおよびデスクトッププラットフォームにネイティブなQtウィジェットおよびQtクイックに基づくアプリケーションの外観を実現できます。
さらに、 ビルドシステムとして、QMakeの代わりにCMakeを使用することが決定されました。 QMakeを使用したアプリケーション構築のサポートは維持されますが、QtはCMakeを使用して構築されます。
このツールキットがC ++プロジェクト開発者の間で広く使用されており、多くの統合開発環境と互換性があるため、CMakeが選択されました。 コミュニティは、QMakeの代わりになると主張するQbsビルドシステムの開発を続けています。
開発中のC ++ 17標準(以前はC ++ 98を使用)への移行。 Qt 6は、多くの最新のC ++機能のサポートを実装する予定です。、ただし、古い標準ベースのコードとの互換性を失うことはありません。
C ++コードでQMLおよびQtQuick用に提供されているいくつかの機能を使用する可能性。
特に QObjectに新しいプロパティシステムが導入されます および同様のクラス。 QMLのバインディングエンジンがQtコアに統合され、バインダーの負荷とメモリ消費が削減され、QtQuickだけでなくQtのすべての部分で利用できるようになります。
このリリースには、6年1月2020日に予定されている将来のQtXNUMXバージョンの初期フレームワークのみが含まれています。
Qt 6ブランチの機能は、31月XNUMX日にコードベースがフリーズするまで拡張されます。
うわー、それはすでに私が私のC ++を完成させたいと思った