このページでは

C

2.9の新機能

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

新機能

  • QtQuick.VirtualKeyboard は完全にサポートされたモジュールにアップグレードされました。詳細はQt Quick Ultralite Virtual Keyboard Overview を参照。
  • Linux およびZephyr OS ターゲットをサポート。
  • list,point,rect QML 基本タイプを追加。
  • Item QML タイプに以下のメンバーを追加:
  • ListView QML タイプに以下のメンバーを追加:
  • font QML基本型に以下のメンバを追加:
  • JavaScript文字列関数toUpperCase() およびtoLowerCase() を追加。
  • qmltocpp を更新しました:
    • 可能な限りサブクラス化を避け、メモリフットプリントを削減。
    • 変更されていないファイルの上書きを避けるため、更新されたQMLファイルのみを再構築する。
  • BGR888ピクセル形式のサポートを追加しました。
  • 各ピクセルフォーマット用の描画エンジン初期化CPUフォールバック関数を追加。
  • RH850 プラットフォームに JPEG サポートを追加。スプライトアニメーションと 画像デコーダのサンプルは、このプラットフォームで画像をデコードするためにハードウェアJPEGユニット(JCUA)を使用します。
  • qmlprojectexporter 更新:
    • BinaryFiles をQmlProject にインクルードし、BinaryResource API を使ってアクセスできるようにしました。
    • ファイルセレクタを使わずに、デモ、サンプル、テストのデフォルトをエクスポートできるようにした。
    • Pinyin Support で Pinyin 辞書データのカスタマイズをサポートするMCU.Config.vkbPinyinDictionary 設定を追加。
  • SDK、コンパイラ、グラフィックス・ドライバのアップグレード:
    • STM32F469i-discovery SDK v1.28.1.
    • STM32H750b-discovery SDK v1.11.2
    • STM32F769i ディスカバリ 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 キューブプログラマ v2.17.0
    • QLS 3.2.1
    • FreeType v1.13.3
    • LodePNG v20241015
  • 例とデモ:
    • freertos_multitask の名前をmultitask に変更し、Zephyr に移植。Zephyr でマルチスレッド処理を行う方法を示すようになった。
    • imagedecodersprite_animations のサンプルをRenesas RH850 に移植。
  • QtQuickUltralite.SafeRenderer QMLモジュールを追加。

問題を修正

Qt for MCUs v2.9.1

  • devicelinkプロトコルのサポートを修正し、スクリーンショットとタッチ入力のディスプレイ回転を適切に処理するようにした。
  • imagedecoderのサンプルを修正しました。 Infineon TRAVEO T2G CYT4DNプラットフォームでエラーコードを返すようにしました。
  • ディスプレイの回転が設定されている場合にスプライト・アニメーションが正しくレンダリングされないのを防ぐために、qulrcc を修正。
  • 無効なメモリー・アクセスの問題を避けるために、ユニコード文字列のコード・ポイントのメモリー割り当てを修正。
  • 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 上で、フォールバック描画エンジンを使用してパスをブレンドするとクラッシュする問題を修正しました。
  • グリーンヒルズコンパイラ(バージョン 2015.1.7)が、QML からのローダーを持つコンポーネントのコードのコンパイルに失敗する問題を修正しました。
  • 複数行のStaticText を水平アライメントと表示回転で使用した場合にクラッシュする可能性があった問題を修正しました。
  • Infineon TRAVEO T2Gで、初期化されていないHyperRAMからメモリを割り当てようとした際のエラーを修正。
  • elideまたはword wrapが設定されたTextアイテムに対するテキストメトリック計算の重複を回避することで、パフォーマンスを向上。
  • ディスプレイの回転が設定されている場合に、スプライトのアニメーションが正しくレンダリングされなかった問題を修正しました。
  • 古いエントリが削除されないために発生していたパフォーマンスの問題を修正しました。 Qt Quick Ultraliteは新しいエントリーのためのスペースを作るために、これらの古いエントリーをキャッシュから削除します。
  • Monotype Spark エンジンを使用しているときに、単一のグリフを持つアイテムもキャッシュされるようにテキストのキャッシュを修正しました。
  • 動的なsource プロパティを持つイメージのアンロード時のクラッシュを修正。
  • スプライトアニメーションのリソースキャッシュサイズを正しく見積もるようにqulrcc を修正。
  • orientationPositionMode の列挙に使用されていたプレフィックスQtListView に置き換えました。これにより、Qt のListView との互換性が向上しました。
  • 画面の回転が有効な場合にアルファマップを事前に回転させるようにレンダリングスタックを最適化しました。これにより、実行時にアルファマップを回転させてブレンドする必要がなくなりました。
  • SwipeViewcurrentIndex が最大になったときに最初にリセットされるように修正。これにより、ビューが最後のアイテムの後に最初のアイテムを表示するカルーセル効果を持つことができるようになります。
  • タッチを持つItem を破棄する際にクラッシュまたはメモリ破壊が発生する可能性があった問題を修正。
  • ディスプレイの回転を使用しているとき、グラデーションを持つRectangle の不正なレンダリングを修正しました。
  • 色深度としてBpp32Alpha を持つItemLayerQtQuick.Shapes またはArcItem を使用するとクラッシュする問題を修正しました。
  • ダイナミック・ソースまたはソース・コンポーネント・プロパティを持つローダーが破壊されたときのクラッシュを修正しました。
  • 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 TypeListView

(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) 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()

旧バージョンでの変更点


詳細はこちら。