Qt 6.0 のアルファ版が利用可能になりました

Qtカンパニー 発表した スレッドの翻訳について Qtの6 アルファテスト段階へ。 Qt 6 には大幅なアーキテクチャ変更が含まれており、ビルドするには C++17 標準をサポートするコンパイラが必要です。 リリース 概説 1年2020月XNUMX日現在。

特徴 第 6 四半期:

  • オペレーティング システムの 3D API から独立した抽象化されたグラフィックス API。 新しい Qt グラフィックス スタックの重要なコンポーネントはシーン レンダリング エンジンです。これは RHI (レンダリング ハードウェア インターフェイス) レイヤーを使用して、OpenGL だけでなく、Vulkan、Metal、および Direct 3D API 上で Qt Quick アプリケーションを強化します。
  • Qt Quick に基づいて 3D および 2D グラフィック要素を組み合わせたユーザー インターフェイスを作成するための API を備えた Qt Quick 3D モジュール。 Qt Quick 3D を使用すると、UIP 形式を使用せずに QML を使用して 3D インターフェイス要素を定義できます。 Qt Quick 3D では、2D および 3D に対して 3 つのランタイム (Qt Quick)、3 つのシーン レイアウト、および 2 つのアニメーション フレームワークを使用し、ビジュアル インターフェイス開発に Qt Design Studio を使用できます。 このモジュールは、QML を Qt 3D または XNUMXD Studio のコンテンツと統合する際の大きなオーバーヘッドなどの問題を解決し、XNUMXD と XNUMXD の間でフレーム レベルでアニメーションと変換を同期する機能を提供します。
  • コードベースをより小さなコンポーネントに再構成し、基本製品のサイズを縮小します。 開発者ツールと特殊なコンポーネントは、カタログ ストアを通じて配布されるアドオンとして提供されます。 Qtマーケットプレイス.
  • QML の大幅な最新化:
    • 強力な入力サポート。
    • QML を C++ 表現およびマシンコードにコンパイルする機能。
    • 完全な JavaScript サポートをオプションにします (フル機能の JavaScript エンジンを使用するには多くのリソースが必要となり、マイクロコントローラーなどの機器で QML を使用できなくなります)。
    • QML でのバージョン管理の拒否。
    • QObject と QML で重複していたデータ構造を統合 (メモリ消費量を削減し、起動を高速化します)。
    • データ構造の実行時生成を廃止し、コンパイル時生成を優先します。
    • プライベート メソッドとプロパティを使用して内部コンポーネントを非表示にします。
    • リファクタリングおよびコンパイル時エラー診断のための開発ツールとの統合が強化されました。
  • PNG イメージを圧縮テクスチャに変換したり、シェーダーやメッシュを特定のハードウェアに最適化されたバイナリ形式に変換したりするなど、コンパイル時にグラフィックス関連のアセットを処理するツールを追加します。
  • テーマとスタイルの統合エンジンを埋め込むことで、さまざまなモバイルおよびデスクトップ プラットフォームにネイティブな Qt Widgets および Qt Quick に基づいたアプリケーションの外観を実現できます。
  • ビルド システムとして QMake の代わりに CMake を使用することが決定されました。 QMake を使用したアプリケーションのビルドのサポートは引き続き残りますが、Qt 自体は CMake を使用してビルドされます。 CMake が選択されたのは、このツールキットが C++ プロジェクト開発者の間で広く使用されており、多くの統合開発環境でサポートされているためです。 QMakeの代替をうたったQbsアセンブリシステムの開発、 続き コミュニティ。
  • 開発中に C++17 標準に移行します (以前は C++98 が使用されていました)。 Qt 6 は、レガシー標準に基づくコードとの下位互換性を失わずに、多くの最新の C++ 機能のサポートを実装する予定です。
  • QML および Qt Quick に提供される機能の一部を C++ コードで使用できる機能。 QObject および同様のクラスの新しいプロパティ システムを含めて紹介します。 QML から、バインディングを操作するためのエンジンが Qt コアに統合され、バインディングの負荷とメモリ消費が削減され、Qt Quick だけでなく Qt のすべての部分でバインディングを利用できるようになります。
  • Python や WebAssembly などの追加言語のサポートが拡張されました。
  • 出所: オープンネット.ru

コメントを追加します