C
2.9の新機能
Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点では、それに応じてアプリケーションコードを変更する必要があります。以下のセクションでは、そのような変更点を強調します:
新機能
- QtQuick.VirtualKeyboard は完全にサポートされたモジュールにアップグレードされました。詳細はQt Quick Ultralite Virtual Keyboard Overview を参照。
- 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 サポートを追加。スプライトアニメーションと 画像デコーダのサンプルは、このプラットフォームで画像をデコードするためにハードウェア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 でマルチスレッド処理を行う方法を示すようになった。- imagedecoderとsprite_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を使ってモジュールをビルドできるようにしました。 - メモリ不足のためにキーボードレイアウトのロードに失敗したときのエラーメッセージを表示。
- GHS コンパイラ
- テキストキャッシュに割り当てられたメモリーを解放するロジックを修正。
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を修正。 - orientation とPositionMode の列挙に使用されていたプレフィックス
QtをListViewに置き換えました。これにより、Qt のListView との互換性が向上しました。 - 画面の回転が有効な場合にアルファマップを事前に回転させるようにレンダリングスタックを最適化しました。これにより、実行時にアルファマップを回転させてブレンドする必要がなくなりました。
- SwipeView のcurrentIndex が最大になったときに最初にリセットされるように修正。これにより、ビューが最後のアイテムの後に最初のアイテムを表示するカルーセル効果を持つことができるようになります。
- タッチを持つItem を破棄する際にクラッシュまたはメモリ破壊が発生する可能性があった問題を修正。
- ディスプレイの回転を使用しているとき、グラデーションを持つRectangle の不正なレンダリングを修正しました。
- 色深度として
Bpp32Alphaを持つItemLayer でQtQuick.Shapes またはArcItem を使用するとクラッシュする問題を修正しました。 - ダイナミック・ソースまたはソース・コンポーネント・プロパティを持つローダーが破壊されたときのクラッシュを修正しました。
- 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 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() |
旧バージョンでの変更点
- 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