C
2.8の新機能
Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点は、それに応じてアプリケーションコードを適応させる必要があるかもしれません。以下のセクションでは、そのような変更点を強調します:
重要な変更
からオプションを削除platformexporter
以下のコマンドラインオプションがプラットフォームエクスポーターツールから削除され、代わりに同様のオプションがqmlprojectexporter :
platformexporter | qmlprojectexporter |
|---|---|
buildir | qul-build-dir |
outputformat | --project-type |
sdkdir | --board-sdk |
IDEsourcedir | --ide-sources-outdir |
includeIDEgeneratedHWCode | include-ide-generated-hw-code |
outdir | --platform-outdir |
qmlprojectexporter を使用したプラットフォームのエクスポートの詳細については、プラットフォーム・ソースを含むQt for MCUs プロジェクトのエクスポートを参照してください。
新機能
- 静的な
const配列とループを使用して定数プロパティ値を設定することにより、生成されるコードのメモリフットプリントを削減します。 - ディスプレイの回転角度に基づいて事前に回転させることで、画像アセットを最適化し、実行時に回転させるオーバーヘッドを回避。
- ライセンス・サーバーからのライセンス取得のサポートを追加。
- アップグレード:
- STM32F469-Discovery SDK v1.28.0。
- MIMXRT1050-EVK、MIMXRT1060-EVK、MIMXRT1064-EVK、MIMXRT1170-EVKB SDK v2.15.000。
- ARMGCCコンパイラ12.3.rel1。
- エンベデッドテンプレートライブラリ(ETL)v20.38.10.
- Renesas RA6 および RA8 FSP を 5.2.0 に。
- FreeRTOS Renesas EK-RA6M3Gでのv10.6.1。
- TRAVEO T2G Cluster SeriesのグラフィックドライバをV2.3.0に変更。
- FreeTypeバージョン2.13.2。
- Monotype Fontmapエディターバージョン3.1.1。
- 未使用グリフを削除してフォントファイルサイズを小さくするMonotype FontmapEditorサポートを追加。
- GridLayout QML タイプを持つQtQuick.Layouts モジュールを追加。
qmlprojectexporter:- QML ファイルを並列処理するための
--parallelと-jコマンドラインオプションを追加。 - プラットフォームソースのパッケージ生成を可能にする CMSIS pack generator を追加。
- プラットフォームソースの有無にかかわらず、完全なアプリケーションを含むCMakeプロジェクトのサポートを拡張。
- QML ファイルを並列処理するための
- Traveo T2G (6M)のハードウェアアクセラレーションによるJPEGデコードのサポートを追加。
- Traveo T2G 4M Liteのサポートを追加。
qmltocppにビット演算子のサポートを追加し、QML でビット OR (|) 演算子を使用できるようにした。- QtQuick.VirtualKeyboard モジュールによる仮想キーボードのサポートを追加しました(技術プレビュー)。
修正された問題
Qt for MCUs v2.8.2
qulrccホストツールで、ディスプレイの回転が設定されているときにスプライトアニメーションを正しくレンダリングするように修正。- devicelinkプロトコルのサポートを修正し、スクリーンショットとタッチ入力のディスプレイ回転を適切に処理するようにしました。
- 画面回転が使用され、ルートアイテムのサイズが画面サイズより小さい場合に、クラッシュや無効なレンダリングを修正。
- ディスプレイの回転が使用されている場合に、グラデーション付きのRectangle の不正なレンダリングを修正しました。
- 破壊されたItem によってタッチが保持された場合、クラッシュまたはメモリ破壊の可能性があったのを修正しました。
PixelFormat_ARGB32またはPixelFormat_ARGB4444フォーマットのDrawingDeviceで、フォールバック描画エンジンがパス ブレンディングに使用されたときに発生したクラッシュを修正しました。- 複数行のStaticText を水平アライメントと表示回転で使用したときに起こりうるクラッシュを修正しました。
- 表示回転が使用されているときにAnimatedSpriteDirectory が正しく表示されるように修正しました。
- 動的なソース・プロパティを持つ
Imageがアンロードされたときに起こっていたクラッシュを修正しました。 - 自動ラップされたテキストが
Text.horizontalAlignmentを尊重するように修正した。 drawhelper.hの ARM NEON コードを修正。- Text 要素に elide または word wrap が設定されている場合に、テキスト・メトリクスの重複計算を防止することでパフォーマンスを向上。
- Infineon TRAVEO T2G CYT3DLプラットフォームで、初期化されていないHyperRAMからアロケートしようとすると、クラッシュする代わりにエラーを報告するように修正。
- RH850プラットフォームで、深度が
Bpp32Alphaに設定されたItemLayerでShapes またはArcItem API を使用した場合に発生したクラッシュを修正。 qmlprojectファイルのエクスポート時にファイル・セレクタを考慮するように、files ノードのdirectoryプロパティを修正しました。qmlprojectexporterのLayoutsモジュール・エクスポートを修正しました。qmltocppの内容が変更されていない場合に、既存のソースファイルを上書きしないようにし、1つのQMLファイルだけが変更された場合に、すべてのQMLファイルが再構築されないように修正しました。- サンプルとデモの修正:
- imagedecoderの例で、Infineon TRAVEO T2Gの
tvii_convert_decoded_buffers、エラーコードの戻り値が欠落していたのを修正。 - thermo-benchmarkデモのコンパイル定義の欠落を修正。
- imagedecoderの例で、Infineon TRAVEO T2Gの
- Loader の修正:
- Green Hills 2015.1.7で、
ComponentをQMLのLoaderと共に使用した場合に発生したコンパイラーエラーを修正しました。 - ダイナミック・ソースまたはソース・コンポーネント・プロパティを持つ
Loaderが破壊されたときに起こっていたクラッシュを修正。
- Green Hills 2015.1.7で、
- SwipeView 修正
currentIndexを手動で設定したとき、またはSwipeView.incrementCurrentIndex()やSwipeView.decrementCurrentIndex()を使用したときに、SwipeViewのアニメーションが常にターゲットのインデックスで終了するように修正しました。SwipeViewsetCurrentIndex()がMouseAreaで正しく動作するように修正。
- テキストキャッシュの修正:
- Monotype Spark フォントエンジンを使ってテキストキャッシュが有効になっている場合に、シングルグリフのText アイテムが正しくキャッシュされるように修正。
- テキストキャッシュを完全に利用するために、古いテキストキャッシュエントリーを解放して新しいエントリーのためのスペースを確保することにより、パフォーマンスが向上しました。
Qt for MCUs v2.8.1
- FMC コントローラーがブロックされている場合に、LTDC のアンダーランが原因でSTM32F769I-DISCOVERYおよびSTM32H750B-DISCOVERYボードで発生する画面のちらつきを修正。
- スプライト・アニメーションのリソース・キャッシュ・サイズを正しく推定するために、
qulrccを修正しました。 - Spark フォント エンジンで特定の TrueType フォントを使用する際のエラーを修正しました。
- PaintedItemDelegate をサブクラス化する際の不完全な型に関する潜在的なコンパイル エラーを修正しました。
- 画面の回転が有効な場合にアルファマップを事前に回転させるようにレンダリングスタックを最適化しました。これにより、実行時にアルファマップを回転させてブレンドする必要がなくなりました。
- Infineon TRAVEO™ T2G 用のプラットフォームポートを修正し、リフレッシュ間隔が高すぎる場合にレイヤーのアニメーションが遅延しないようにしました。
start()を呼び出した際に、実行中のアニメーションが再起動しないように、アニメーションロジックを修正しました。qmltocppの修正:*.ui.qmlファイルの翻訳可能ユニットのコンテキスト名の抽出に、lupdateと同じ規約を使用。- Loader または lRepeater のスコープ内のScriptAction インスタンスに対して正しい C++ コードを生成します。
- StaticText インスタンス用のコードを生成する際に、不要な
update()への呼び出しを削除しました。
qmlprojectexporter修正:- QML ファイルを並列処理するための
--parallelおよび-jコマンドラインオプションを追加しました。また、CMAKE_BUILD_PARALLEL_LEVEL環境変数を使用して並列ジョブの数を定義できます。 - メインの
qmlprojectファイルではなく、モジュールのqmlprojectファイルでresourceCompression が有効になっていたことによるクラッシュを修正しました。
- QML ファイルを並列処理するための
Qt for MCUs v2.8.0
fontcompilerの修正:- LinuxとWindowsの両方のホストで高品質のグリフアルファマップを生成。
QulFontResourceDataのサイズを若干縮小。
qmltocppの修正:- 他の QML ファイルからオブジェクトエイリアスにアクセスする際のクラッシュを修正。
- インラインコンポーネントがローダーのsourceComponent として使用されている場合のアンカーバインディングを改善。
- Component タイプのカスタム プロパティがLoader::{souceComponent} のバインディングとして使用されているかどうかをチェックし、クラッシュを回避します。
- クラッシュを回避するために、親プロパティをインライン・コンポーネント宣言オブジェクトで使用できるようにします。
- モジュール外で使用する場合は、モジュール名で型を修飾します。
- アンカーを生成するときに、初期化されていない値を使用しないようにします。
- generateQmltypes が有効なQtQuick.Controls モジュールの読み込みエラーを修正しました。
qmlprojectexporterでそのようなモジュールが見つからない場合は、--qml-mappings-dir引数を使用して詳細情報を提供してください。 - プロジェクトで選択されたC++標準からC++機能を使用する場合に、インターフェイスファイルでコンパイルエラーが発生する問題を修正しました。例えば、
CMAKE_CXX_STANDARDが 17 に設定されている場合、qmlprojectexporterにも転送されるはずです。 - 変換された画像をブレンドする際のスタックメモリ使用量を削減しました。中間バッファは、必要なときにヒープ上に割り当てられるようになりました。
- ディスプレイの回転角度が 90 または 270 に設定されているときのレイヤーの位置決めを修正。
- GPU と同期するために
exec()をビジーループする代わりに割り込みを待つようにしました。 qmlprojectexporterの修正:qmltocppに渡されるインクルード・パスの順序を修正。Shapes,Timeline,StudioComponentsモジュールをデフォルトの検索パスにインクルード。
- 画像のブロックサイズを割り当てる際に、1つだけずれていたエラーを修正。
- ItemBuffersを無視しないように変換サポートを修正。
- サンプルとデモの修正:
- STM32F769NI で IAR toolchain を使用してビルドした場合のwatchdemo (debug build) のクラッシュを修正しました。
- AUTOSAR のRenesas RH850 用image_cacheサンプルをビルドする際のリンクエラーを修正しました。
- 画像が入力バッファより小さい場合にSTM でのクラッシュを回避するために、画像デコーダを修正しました。
- IARツールチェーンを使用したデバッグビルドでのスタックオーバーフローを修正しました。
新しいAPI
アプリケーション開発用API
新しいQML型
新しいQML列挙型
(since Qt Quick Ultralite 2.8) | AlignmentFlag |
プラットフォーム開発用API
旧バージョンの変更点
- 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