このページでは

C

バージョン2.9の新機能

Qt Quick Ultraliteは、マイナーリリース間のソース互換性を維持しています。ただし、一部の変更により、アプリケーションコードを適宜修正する必要がある場合があります。以下のセクションでは、そのような変更点について説明します。

新機能

  • QtQuick.VirtualKeyboard が、完全にサポートされるモジュールにアップグレードされました。詳細については、Qt Quick の「Ultralite 仮想キーボードの概要」を参照してください。
  • Linux およびZephyr OS ターゲットのサポートが追加されました。
  • listpoint 、およびrect の QML 基本型が追加されました。
  • Item QML 型に以下のメンバを追加しました:
  • ListView QML タイプに以下のメンバーを追加しました:
  • font QML基本型に以下のメンバを追加しました:
  • JavaScriptの文字列関数 `toUpperCase() ` および `toLowerCase()` を追加しました。
  • qmltocpp 更新点:
    • 可能な限りサブクラスを回避してメモリ使用量を削減し、アライメントに基づいてメンバ変数の順序を再配置しました。
    • 変更されていないファイルを上書きしないよう、更新されたQMLファイルのみを再ビルドするようにしました。
  • BGR888ピクセル形式のサポートを追加しました。
  • 各ピクセルフォーマットに対応した、描画エンジンの初期化用CPUフォールバック関数を追加しました。
  • RH850 プラットフォームに JPEG サポートを追加しました。このプラットフォームでは、Sprite アニメーションおよび画像デコーダのサンプルで、画像のデコードにハードウェア JPEG ユニット (JCUA) を使用しています。
  • qmlprojectexporter 更新内容:
    • QmlProjectにBinaryFilesを含めることをサポートし、BinaryResource APIを使用してアクセスできるようになりました。
    • ファイルセレクタを使用せずに、デモ、サンプル、およびテストのデフォルトバリアントをエクスポートできるようになりました。
    • MCU.Config.vkbPinyinDictionary 」の設定を追加し、「Pinyin Support」によるピンイン辞書データのカスタマイズをサポートしました。
  • SDK、コンパイラ、およびグラフィックスドライバのアップグレード:
    • STM32F469i-discovery SDK v1.28.1
    • STM32H750b-discovery SDK v1.11.2
    • STM32F769i-discovery SDK v1.17.2
    • MIMXRT1050-EVK、MIMXRT1060-EVKB、MIMXRT1064-EVK、および MIMXRT1170-EVKB SDK v2.16.000.
    • TRAVEO T2G CYT3DL、CYT4DN、および CYT4EN プラットフォーム用 TRAVEO T2G Cluster Series グラフィックス・ドライバのアップグレード v2.4.0。
    • STM Cube Programmer v2.17.0
    • QLS 3.2.1
    • FreeType v1.13.3
    • LodePNG v20241015
  • サンプルとデモ:
    • freertos_multitaskmultitask にリネームし、Zephyr に移植しました。これで、Zephyr でのマルチスレッドの実装方法が示されるようになりました。
    • imagedecoderおよびsprite_animationsのサンプルをRenesas RH850 に移植しました。
  • QtQuickUltralite.SafeRenderer 用QMLモジュールを追加しました。

不具合を修正しました

Qt for MCUs v2.9.1

  • スクリーンショットやタッチ入力の際、画面の回転が正しく処理されるよう、devicelinkプロトコルのサポートを修正しました。
  • imagedecoderのサンプルを修正し、 Infineon TRAVEO T2G CYT4DN プラットフォームでエラーコードを確実に返すように修正しました。
  • qulrcc を修正し、ディスプレイの回転が設定されている場合にスプライトアニメーションが正しくレンダリングされない問題を回避しました。
  • 無効なメモリアクセスの問題を回避するため、Unicode 文字列のコードポイントに対するメモリ割り当てを修正しました。
  • Text 項目の修正:
    • テキストがはみ出しているアイテムに対して、truncated プロパティを設定しました。これにより、テキストを省略してそのようなアイテムを処理できるようになります。
    • 複数行のテキストを含むアイテムのanchors.bottom を調整しました。
    • ディスプレイの回転が「90 」に設定されている状態で、複数行のテキストを検出する際に発生していたクラッシュを修正しました。
  • サンプルおよびデモの修正点:
    • NXP 設定時の i.MX93 において、ディスプレイの回転角度が原因で発生していたmotor_clusterデモのクラッシュを修正しました。
    • GHSコンパイラでビルドした際に、text_inputサンプルがQulVKBレイアウトに対応できるよう修正しました。
  • Qt Quick Ultralite Virtual Keyboard の修正:
    • GHSコンパイラバージョン2015.1.7 を使用したモジュールのビルドを可能にしました。
    • メモリ不足によりキーボードレイアウトの読み込みに失敗した場合、エラーメッセージを表示するようにしました。
  • テキストキャッシュ用に割り当てられたメモリを解放するロジックを修正し、まずすべてのエントリを明示的に解放するようにした。これにより、ダングリングエントリの発生を回避した。

Qt for MCUs v2.9.0

  • 一部のターゲットにおけるプラットフォーム移植を修正し、変換済み画像のブレンド処理中にスタックメモリを過剰に使用しないようにしました。中間バッファのサイズを縮小し、必要に応じてヒープ上に割り当てるように変更しました。
  • qmlprojectexporter を修正し、デフォルトで並列ジョブが過剰に生成されるのを防ぎました。
  • qmltocpp 修正点:
    • バインディングを持つプロパティのデストラクタ内でProperty::value() を呼び出した際にメモリ破損が発生しないよう、バインディングオブジェクトを先に初期化するようにしました。
  • PixelFormat_ARGB32 またはPixelFormat_ARGB4444 ピクセル形式のDrawingDevice上で、フォールバック描画エンジンを使用してパスをブレンドする際に発生していたクラッシュを修正しました。
  • Green Hills コンパイラ(バージョン 2015.1.7)が、QML から Loader を持つコンポーネントのコードをコンパイルできない問題を修正しました。
  • 水平方向の配置と表示の回転を伴う複数行の `StaticText ` を使用する際に発生する可能性のあるクラッシュを修正しました。
  • Infineon TRAVEO T2G で、初期化されていない HyperRAM からメモリを割り当てようとした際に発生するエラーを修正しました。
  • elide または word wrap が設定されている Text アイテムについて、テキストメトリックの計算の重複を回避することで、パフォーマンスを向上させました。
  • ディスプレイの回転が設定されている場合、スプライトアニメーションが正しくレンダリングされない問題を修正しました。
  • 古いエントリが削除されないことによるパフォーマンスの問題を修正しました。Qt Quick Ultralite は、新しいエントリのためのスペースを確保するために、キャッシュからこれらの古いエントリを削除するようになりました。
  • Monotype Spark エンジンを使用する場合、単一のグリフを持つアイテムも確実にキャッシュされるよう、テキストのキャッシュを修正しました。
  • 動的なsource プロパティを持つ Image をアンロードする際に発生していたクラッシュを修正しました。
  • qulrcc を修正し、スプライトアニメーションのリソースキャッシュサイズを正しく推定するようにしました。
  • orientation およびPositionMode 列挙型で使用されていたQt プレフィックスをListView に変更しました。これにより、Qt XML のListView との互換性が向上します。
  • 画面の回転が有効になっている場合に、アルファマップを事前に回転させるようレンダリングスタックを最適化しました。これにより、実行時にアルファマップを回転させたりブレンドしたりする必要がなくなります。
  • SwipeView を修正し、currentIndex が最大値に達した際に、その値が先頭に戻されるようにしました。これにより、ビューが最後の項目の後に最初の項目を表示するカルーセル効果が実現可能になります。
  • タッチ操作中のItem を破棄した際に発生する可能性のあるクラッシュやメモリ破損を修正しました。
  • ディスプレイの回転時に、グラデーションが適用されたRectangle のレンダリングが不正確になる問題を修正しました。
  • 色深度としてBpp32Alpha が設定されたItemLayer 内でQtQuick.Shapes またはArcItem を使用する際のクラッシュを修正しました。
  • 動的なソースまたはソースコンポーネントプロパティを持つLoaderが破棄された際に発生していたクラッシュを修正しました。
  • SwipeView のアニメーションが、場合によってはターゲットインデックスで終了しない問題を修正しました。この現象は、currentIndex を特定の値に設定した場合、またはincrementCurrentIndex()やdecrementCurrentIndex()を呼び出した場合に発生します。

新しいAPI

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

新しいクラス

新しいメンバー関数

クラスBinaryResource

(since Qt Quick Ultralite 2.9) size_t alignment() const
(since Qt Quick Ultralite 2.9) const uchar *data() const
(since Qt Quick Ultralite 2.9) size_t size() const

新しいQML型

新しい QML プロパティ

QML タイプItem

(since Qt Quick Ultralite 2.9) activeFocus : Item

QML タイプListView

(since Qt Quick Ultralite 2.9) count : int
(since Qt Quick Ultralite 2.9) currentIndex : int
(since Qt Quick Ultralite 2.9) highlight : Component

QML タイプfont

(since Qt Quick Ultralite 2.9) unicodeCoverageIncludeUpperCase : bool

新しい QML メソッド

QML タイプListView

(since Qt Quick Ultralite 2.9) int indexAt(real x, real y)
(since Qt Quick Ultralite 2.9) void positionViewAtIndex(int index, PositionMode mode)

QML タイプQt

(since Qt Quick Ultralite 2.9) point point(real x, real y)
(since Qt Quick Ultralite 2.9) point rect(real x, real y, real width, real height)

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

新しいグローバル関数

(since Qt Quick Ultralite (Platform) 2.9) void initializeArgb32CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeArgb4444CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeBgr888CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb16CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb32CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb332CpuFallbackDrawingEngine()
(since Qt Quick Ultralite (Platform) 2.9) void initializeRgb888CpuFallbackDrawingEngine()

以前のバージョンでの変更点

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。