C
バージョン2.9の新機能
Qt Quick Ultraliteは、マイナーリリース間のソース互換性を維持しています。ただし、一部の変更により、アプリケーションコードを適宜修正する必要がある場合があります。以下のセクションでは、そのような変更点について説明します。
新機能
- QtQuick.VirtualKeyboard が、完全にサポートされるモジュールにアップグレードされました。詳細については、Qt Quick の「Ultralite 仮想キーボードの概要」を参照してください。
- Linux およびZephyr OS ターゲットのサポートが追加されました。
- list 、point 、およびrect の QML 基本型が追加されました。
- Item QML 型に以下のメンバを追加しました:
- mapToItem() およびmapFromItem() メソッド
- childAt() メソッド
activeFocusプロパティ
- ListView QML タイプに以下のメンバーを追加しました:
- count、currentIndex 、およびhighlight プロパティ。
- positionViewAtIndex() およびindexAt() メソッド
- 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_multitaskをmultitaskにリネームし、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を使用したモジュールのビルドを可能にしました。 - メモリ不足によりキーボードレイアウトの読み込みに失敗した場合、エラーメッセージを表示するようにしました。
- GHSコンパイラバージョン
- テキストキャッシュ用に割り当てられたメモリを解放するロジックを修正し、まずすべてのエントリを明示的に解放するようにした。これにより、ダングリングエントリの発生を回避した。
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
新しいクラス
- B
- BinaryResource (Qul)
- L
- ListProperty (Qul)
新しいメンバー関数
クラス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型
- K
- Key
- KeyboardBackground
- KeyboardColumn
- KeyboardLayout
- KeyboardLayoutLoader
- KeyboardRow
- KeyboardStyle
- KeyPanel
- KeyPanelDelegate
- M
- ModeKey
- P
- point
- R
- rect
新しい 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() |
以前のバージョンでの変更点
- 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ライセンスの下で利用可能です。
詳細はこちらをご覧ください。