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。
- Embedded Template Library (ETL) v20.38.10。
- Renesas RA6 および RA8 FSP を 5.2.0 に更新。
- FreeRTOS Renesas EK-RA6M3G 上の v10.6.1。
- TRAVEO T2G クラスタシリーズのグラフィックスドライバ V2.3.0。
- FreeType バージョン 2.13.2。
- Monotype Fontmap エディタ バージョン 3.1.1。
- Monotype FontmapEditor のサポートを追加し、未使用のグリフを削除することでフォントファイルのサイズを縮小できるようにしました。
- GridLayout QML タイプを備えたQtQuick.Layouts モジュールを追加しました。
qmlprojectexporter:- QMLファイルを並列処理するための
--parallelおよび-jコマンドラインオプションを追加しました。 - プラットフォームソースのパッケージを生成できるように、CMSIS パックジェネレータを追加しました。
- 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 から割り当てを試みた際に、クラッシュするのではなくエラーを報告するように修正しました。
ItemLayerでdepthがBpp32Alphaに設定されている状態で、Shapes またはArcItem APIを使用すると発生していたRH850プラットフォームでのクラッシュを修正しました。qmlprojectファイルをエクスポートする際、ファイルノードのdirectoryプロパティがファイルセレクタを考慮するように修正しました。qmlprojectexporterに対するLayoutsモジュールのエクスポートを修正しました。qmltocppを修正し、変更されたQMLファイルが1つだけの場合に、内容が変更されていない既存のソースファイルを上書きしないようにすることで、すべてのQMLファイルが再ビルドされるのを防ぐようにしました。- サンプルおよびデモの修正:
- imagedecoderサンプルにおいて、Infineon TRAVEO T2G 向けの
tvii_convert_decoded_buffersからエラーコードの戻り値が欠落していた問題を修正しました。 - 欠落していたコンパイル定義を追加し、thermo-benchmark デモを修正しました。
- imagedecoderサンプルにおいて、Infineon TRAVEO T2G 向けの
- Loader 修正点:
- QMLから
Loaderを使用する際、Componentを呼び出した際に発生していたGreen Hills 2015.1.7のコンパイラエラーを修正しました。 - 動的なソースまたはソースコンポーネントプロパティを持つ
Loaderが破棄された際に発生していたクラッシュを修正しました。
- QMLから
- SwipeView 修正点:
- `
currentIndex` を手動で設定する場合、または `SwipeView.incrementCurrentIndex()` や `SwipeView.decrementCurrentIndex()` を使用する場合に、SwipeViewのアニメーションが常にターゲットインデックスで終了するように修正しました。 SwipeViewのsetCurrentIndex()が、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` ファイルでは`resourceCompression` が有効になっているが、メインの `qmlproject` ファイルでは有効になっていないために発生していたクラッシュを修正しました。
- QMLファイルを並列処理するために、
Qt for MCUs v2.8.0
fontcompilerへの修正:- LinuxおよびWindowsホストの両方で、高品質なグリフアルファマップを生成するようにしました。
QulFontResourceDataのサイズをわずかに縮小しました。
qmltocppの修正点:- 他のQMLファイルからオブジェクトエイリアスにアクセスした際のクラッシュを修正しました。
- LoaderのsourceComponent として使用される場合、インラインコンポーネント内のアンカーバインディングを改善しました。
- クラッシュを回避するため、Loader::{souceComponent} のバインディングとして Component 型のカスタムプロパティが使用されていないかを確認しました。
- クラッシュを回避するため、インラインコンポーネントの宣言オブジェクトで parent プロパティが利用可能になるようにしました。
- モジュール外で型を使用する場合、そのモジュール名で型を修飾するようにしました。
- アンカーを生成する際、初期化されていない値の使用を避けてください。
- generateQmltypesを有効にした状態でQtQuick.Controls モジュールを読み込む際のエラーを修正しました。
qmlprojectexporterがそのようなモジュールを見つけられない場合は、--qml-mappings-dir引数を使用して詳細情報を指定してください。 - プロジェクトで選択された C++ 標準の C++ 機能を使用する際、インターフェースファイルで発生していたコンパイルエラーを修正しました。たとえば、
CMAKE_CXX_STANDARDが 17 に設定されている場合、その設定はqmlprojectexporterにも引き継がれる必要があります。 - 変換された画像のブレンド処理におけるスタックメモリの使用量を削減しました。中間バッファは、必要に応じてヒープ上に割り当てられるようになりました。
- 表示の回転角度が 90 または 270 に設定されている場合のレイヤーの位置決めを修正しました。
- GPUとの同期のために、
exec()をビジーループさせる代わりに、割り込みを待機するようにしました。 qmlprojectexporter修正点:qmltocppに渡されるインクルードパスの順序を修正しました。Shapes、Timeline、StudioComponentsモジュールをデフォルトの検索パスに追加しました。
- 画像のブロックサイズを割り当てる際のオフバイワンエラーを修正しました。
- ItemBuffers を無視しないよう、変換のサポートを修正しました。
- サンプルおよびデモの修正:
- IAR ツールチェーンを使用してビルドした際、STM32F769NI 上でwatchデモ(デバッグビルド)がクラッシュする問題を修正しました。
- 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
特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。