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 Cube Programmer v2.14.0
- Renesas 用 Flexible Software Package (FSP) v4.5.0 EK-RA6M3G
- 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サポートを追加しました。
- サンプルとデモ:
- instrument_clusterのサンプルを追加しました。
- automotiveおよびthermoのデモにベンチマークモードを追加しました。 Qt Quick Ultralite Profiling QML Types モジュールを追加しました。
file://スキームのプレフィックスを使用したイメージファイルパスの使用例を示す「fileloading」サンプルを追加しました。
- イージングカーブ:
Easing.*Elastic、Easing.*Back、およびEasing.*Bounceeasing curve types のサポートを追加しました。- bezierCurve プロパティのEasing.BezierSpline 型を使用したカスタムイージングカーブのサポートを追加しました。
- QML において、String.arg() API およびオブジェクトエイリアスプロパティのサポートが追加されました。
- QulPerf に新しいプロパティが追加され、より多くのパフォーマンスメトリクスを収集できるようになりました。
- Filesystem プラットフォーム API(テクノロジープレビュー)が追加され、
file://スキーマプレフィックスを使用してファイルシステム上の画像にアクセスできるようになりました。fileloadingのサンプルでは、file://スキーマプレフィックスの使用方法、およびSTM 、NXP 、Desktop プラットフォームでのカスタムファイルシステム実装の統合方法について説明しています。 - プレーンテキストおよびリッチテキストをサポートするために、textFormat プロパティを追加しました。
- アプリケーションの
CMakeLists.txtで既に定義されている場合、freeRTOSの総ヒープサイズを定義または上書きできるようにするため、qul_override_freertos_heap_sizeCMakeマクロを追加しました。
不具合の修正
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 XML とのコード互換性が向上します。
QUL_COLOR_DEPTHが8に設定されている場合のパスのブレンドを修正しました。
qmlprojectexporter修正点:- ID ベースの翻訳を使用する際、QmlProject プロパティ `TranslationFiles.MCU.omitSourceLanguage` の値が `
true` でない場合に警告を表示する。 - モジュールの
.qmlprojectファイルについて、インポートパスを再帰的に検索するようにしました。 - モジュールからフォントファイルを収集します。
- ID ベースの翻訳を使用する際、QmlProject プロパティ `TranslationFiles.MCU.omitSourceLanguage` の値が `
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メトリクスを更新しました。
- thermoデモを更新し、IDベースの変換APIを使用するようにしました。
- automotiveデモ:
- Loader を使用してメモリ使用量を削減しました。
- RLE方式で圧縮された画像が表示される際のレンダリング上の不具合を修正しました。
- STM32F769 搭載のFreeRTOS 環境におけるパフォーマンス問題を回避するため、thermoデモを修正しました。
- 翻訳サンプルを更新し、インライン画像を含むテキストを使用できるようにしました。
- スプライトアニメーションのテクスチャ生成を最適化しました。
- クロッピング最適化を有効にした際に発生していた、予期しないバイナリデータのサイズの問題を修正しました。
--selectorコマンドラインオプションを使用した場合の、qmlprojectexporterのファイル選択ロジックを修正しました。- アセットデータのバイナリファイルおよびテキストファイルをビルドディレクトリにコピーするように、ビルド設定を更新しました。これは、アプリケーションを静的ライブラリとしてビルドする場合に役立ちます。
新しいAPI
アプリケーション開発用API
新しいQML型
新しい QML プロパティ
QML タイプLoader :
(since Qt Quick Ultralite 2.6) | status : Status |
QML タイプQulPerf :
(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() |
以前のバージョンでの変更点
- What's New in 2.11
- What's New in 2.10
- What's New in 2.9
- What's New in 2.8
- What's New in 2.7
- What's New in 2.6
- What's New in 2.5
- What's New in 2.4
- What's New in 2.3
- What's New in 2.2
- What's New in 2.1
- What's New in 2.0
- What's New in 1.9
- What's New in 1.8
- What's New in 1.7
- What's New in 1.6
- What's New in 1.5
- What's New in 1.4
- What's New in 1.3
- What's New in 1.2
- What's New in 1.1
特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。