このページでは

C

2.8の新機能

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

重要な変更

からオプションを削除platformexporter

以下のコマンドラインオプションがプラットフォームエクスポーターツールから削除され、代わりに同様のオプションがqmlprojectexporter

platformexporterqmlprojectexporter
buildirqul-build-dir
outputformat--project-type
sdkdir--board-sdk
IDEsourcedir--ide-sources-outdir
includeIDEgeneratedHWCodeinclude-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プロジェクトのサポートを拡張。
  • 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 に設定されたItemLayerShapes またはArcItem API を使用した場合に発生したクラッシュを修正。
  • qmlproject ファイルのエクスポート時にファイル・セレクタを考慮するように、files ノードのdirectory プロパティを修正しました。
  • qmlprojectexporterLayouts モジュール・エクスポートを修正しました。
  • qmltocpp の内容が変更されていない場合に、既存のソースファイルを上書きしないようにし、1つのQMLファイルだけが変更された場合に、すべてのQMLファイルが再構築されないように修正しました。
  • サンプルとデモの修正:
    • imagedecoderの例で、Infineon TRAVEO T2Gのtvii_convert_decoded_buffers 、エラーコードの戻り値が欠落していたのを修正。
    • thermo-benchmarkデモのコンパイル定義の欠落を修正。
  • Loader の修正:
    • Green Hills 2015.1.7で、Component をQMLのLoader と共に使用した場合に発生したコンパイラーエラーを修正しました。
    • ダイナミック・ソースまたはソース・コンポーネント・プロパティを持つLoader が破壊されたときに起こっていたクラッシュを修正。
  • 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 ファイルではなく、モジュールのqmlproject ファイルでresourceCompression が有効になっていたことによるクラッシュを修正しました。

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

旧バージョンの変更点


詳細はこちら。