このページでは

C

2.6の新機能

Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点では、アプリケーションコードを変更する必要があります。以下のセクションでは、そのような変更点を強調します:

重要な変更

  • NXP RT1170 ボードのバージョンを MIMXRT1170-EVK から MIMXRT1170-EVKB にアップグレード。このターゲットのプラットフォーム名はmimxrt1170-evk-freertos からmimxrt1170-evkb-freertos に変更されました。
  • Qt for MCUs SDKにはDesktop のシミュレータ・ソースが含まれており、サポートされていないホスト・プラットフォーム用にカスタマイズしてビルドすることができます。

新機能

  • アイテムのロードの進行状況を示すLoader.status プロパティを追加しました。
  • プラットフォームのパフォーマンス・データのロギングを可能にするPerformanceMetrics API を追加しました。詳細については、パフォーマンス・メトリクス・プラットフォームAPIの実装を参照してください。
  • Traveo II 4M ボード用のQulResourceDataInSemperFlashリソース保存セクションを追加。
  • IDに基づくテキスト翻訳をサポートするためにqsTrId() 。詳細はテキストIDベースの翻訳を参照。
  • スタティック ライブラリとしてビルドされたアプリケーションの初期化とQt Quick Ultralite エンジンのスケジューリングを制御するC-Linkage 関数を追加しました。
  • アップグレード
    • IAR コンパイラ バージョン 9.40.1
    • LodePNG バージョン 20230410
    • STM32 F7 SDK v1.17.1
    • STM32 H7 SDK v1.11.1
    • STM キューブプログラマ v2.14.0
    • Renesas EK-RA6M3G用フレキシブルソフトウェアパッケージ(FSP) v4.5.0
    • MCUXPresso SDK 2.14.0
    • MCUXPresso IDE v11.8
  • qmlprojectexporter の更新:
    • export-platformコマンドラインオプションを使用してプラットフォームソースをエクスポートするデフォルトの動作をオーバーライド。
    • Qt Quick UltraliteプラットフォームとUIソースをすでに含む既存のGHS Multi IDEプロジェクトを更新できるように、--update-projectコマンドラインオプションを追加しました。詳細については、既存プロジェクトの更新を参照してください。
    • 既存のサードパーティ GHS Multi IDE プロジェクトにQt Quick Ultralite プラットフォームと UI ソースを追加できるように、--extend-projectコマンドライン オプションを追加しました。詳細については、GHSプロジェクトの拡張を参照してください。
    • GHS Multi IDE ワークスペース ファイルを生成して、統合を容易にします。
    • 多くの画像リソースを使用するアプリケーションのコンパイル時間を改善します。
  • Renesas RH850 D1M1AボードのAUTOSARサポートを追加。
  • サンプルとデモ:
  • カーブの緩和:
  • QML でString.arg() API とオブジェクト・エイリアス・プロパティのサポートを追加しました。
  • QulPerf に新しいプロパティを追加し、より多くのパフォーマンス・メトリクスを収集できるようになりました。
  • file:// スキーム接頭辞を持つファイルシステム上のイメージへのアクセスを可能にするFilesystem プラットフォーム API(技術プレビュー)を追加しました。ファイルロードの例では、file:// スキーム接頭辞を使用し、STMNXP 、および Desktop プラットフォーム上のカスタム・ファイルシステム実装を統合する方法を示します。
  • プレーン・テキストとリッチ・テキストをサポートするtextFormat プロパティを追加しました。
  • qul_override_freertos_heap_sizeCMake マクロを追加し、アプリケーションのCMakeLists.txt ですでに定義されている場合、freeRTOS の合計ヒープサイズを定義またはオーバーライドできるようにしました。

修正された問題

Qt for MCUs v2.6.1

  • QulPerf::maxHeapUsage およびQulPerf::maxStackUsage のプロパティ・タイプをint ではなくbytes として解析することによるコンパイル・エラーを修正しました。
  • STM32プラットフォームにおけるGCC v12コンパイラーとリンカーの警告を修正しました。
  • 1ピクセルのオフセットのために変換されたテキストで間違った位置決めとレンダリングの不具合を修正しました。
  • 依存関係の欠落によりqmlprojectexporter が失敗した場合に有用なエラーメッセージを報告するように CMake のロジックを修正。
  • FreeType ラスタライザを更新し、ARGB32_Premultiplied およびARGB4444_Premultiplied フォーマットをサポートしました。
  • Renesas RH850 用にビルドする際の GHS 2018 コンパイラの警告を修正。
  • IAR ベアメタルプラットフォームのthermo_demo(ベンチマークモード) のヒープ構造フィールドを修正。
  • Item の実装を修正し、可視性の更新がvisible プロパティのプロパティバインディングを考慮するようにしました。
  • 破壊されたイメージへの参照を使用しないようにSharedImage を修正しました。
  • ソフトウェア・レンダラーが不明な画像フォーマットを使用した場合にエラーを報告するように修正。
  • アプリケーションをクラッシュさせる可能性のある無効なメモリーアクセスを回避するために、ImageLayer の実装を修正。
  • ShapePath の修正:
    • strokeWidth が 0 の場合、デフォルト値 (1) を使用するようにした。これにより Qt とのコードの互換性が向上。
    • QUL_COLOR_DEPTH が 8 に設定されているときのパスのブレンドを修正。
  • qmlprojectexporter 修正
    • ID ベースの翻訳を使用しているとき、TranslationFiles.MCU.omitSourceLanguageQmlProject プロパティがtrue でない場合に警告するようにしました。
    • モジュール.qmlproject ファイルのインポートパスを再帰的に検索するようにしました。
    • モジュールからフォントファイルを収集するようにしました。
  • qmltocpp の修正:
    • デフォルト状態のwhen 条件を考慮。
    • デフォルト状態にも遷移アニメーションを適用。
    • 関数の引数にオブジェクト・ポインタを使えるようにした。
    • 状態の変化に基づく visibility プロパティの処理を修正。
    • 空文字列 ("") の名前を持つユーザー定義状態をデフォルトとみなさないように処理。
    • 型が不明なrequired プロパティについて警告するようにしました。
    • *.ui.qml ファイルで翻訳可能なユニットのコンテキスト名を抽出するのに "lupdate" と同じ規約を使用する。

Qt for MCUs v2.6.0

  • RTLテキストをレンダリングする際、アサートやUIアーティファクトが左寄せにならないよう修正しました。
  • テキスト行の間隔を修正し、選択したフォントの意図通りにレンダリングされるようにしました。
  • MCU.Config.fontVectorOutlinesDrawingが有効になっている場合に、Sparkフォントエンジンの状態更新に関する問題を修正しました。
  • SwipeView の動作を修正し、ビューの有効化と無効化がその子にも伝わるようにしました。
  • qmltocpp 更新:
    • 引用符で囲まれた文字列リテラルに対して有効なC++コードを生成。
    • Loader のコード生成を最適化し、メモリフットプリントを削減。
  • 例とデモ:
    • IAR でビルドされた STM32H750B-discovery ボード上の UI アーチファクトのちらつきを避けるために、watchデモの色深度を減らしました。
    • motor_clusterデモ:
      • スタートアップアニメーションを追加
      • Traveo IIでUIがフリーズするリグレッションを修正。
      • オーバーレイされたFPSメトリクスを更新。
    • idベースの翻訳APIを使用するようにthermoデモを更新。
    • 自動車デモ:
      • Loader を使用してメモリフットプリントを削減。
      • 画像が RLE メソッドで圧縮されている場合のレンダリング アーチファクトを修正。
    • STM32F769 を使用したFreeRTOS でのパフォーマンスの問題を回避するために、thermoデモを修正しました。
    • インライン画像でテキストを使用するよう、翻訳例を更新しました。
  • スプライトアニメーションのテクスチャ生成を最適化。
  • クロッピングの最適化を有効にする際に予期しないデータバイナリサイズが発生する問題を修正。
  • --selector コマンドラインオプション使用時のqmlprojectexporter ファイルセレクタロジックを修正。
  • アセットデータのバイナリファイルとテキストファイルをビルドディレクトリにコピーするように、ビルド設定を更新しました。これは、アプリケーションを静的ライブラリとしてビルドする場合に便利です。

新しい API

アプリケーション開発用API

新しいQML型

新しいQMLプロパティ

QMLタイプLoader

(since Qt Quick Ultralite 2.6) status : Status

QML TypeQulPerf

(since Qt Quick Ultralite 2.6) averageCpuLoad : real
(since Qt Quick Ultralite 2.6) averageFps : real
(since Qt Quick Ultralite 2.6) currentCpuload : real
(since Qt Quick Ultralite 2.6) maxHeapUsage : int
(since Qt Quick Ultralite 2.6) maxStackUsage : int
(since Qt Quick Ultralite 2.6) minimumFps : real
(since Qt Quick Ultralite 2.6) recording : bool
(since Qt Quick Ultralite 2.6) totalFrames : int

QMLタイプText

(since Qt Quick Ultralite 2.6) textFormat : TextFormat

プラットフォーム開発用API

新しいクラス

新しいメンバー関数

クラスPerformanceMetrics

(since Qt Quick Ultralite (Platform) 2.6) virtual float cpuLoad()
(since Qt Quick Ultralite (Platform) 2.6) virtual uint64_t maxHeapUsage()
(since Qt Quick Ultralite (Platform) 2.6) virtual uint64_t maxStackUsage()

クラスPlatformContext

(since Qt Quick Ultralite (Platform) 2.6) virtual Qul::Platform::PerformanceMetrics *performanceMetrics()

旧バージョンでの変更点


詳細はこちら。