C
2.5の新機能
Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点では、アプリケーションコードを変更する必要があります。以下のセクションでは、そのような変更点を強調します:
重要な変更
- デバッグビルドでのみクリティカルアサートエラーコードを有効にし、
RelおよびMinSizeRelビルドでは無効にしました。 - Cypress Traveo II 構築済みライブラリは、GHS 2017 コンパイラを使用して構築されています。これらのライブラリを使用するか、コア・ライブラリを再コンパイルするには、同じコンパイラ・バージョンが必要です。
- Renesas RH850 プラットフォームのプラットフォームコードを C++03 に、Cypress Traveo II を C++11 にダウングレードしました。
- NXP MIMXRT1060-EVKBのサポートを追加し、このボードの旧バージョン(
MIMXRT1060-EVK)のサポートを中止。 qmlprojectexporterを使ってプラットフォーム・ソースをエクスポートできるようになったため、platformexporterツールを非推奨としました。詳しくはQmlProjectマニュアルを参照してください。
新機能
- ソフトウェアベクターグラフィックスのサポートを追加しました。
- Renesas RH850 の C++03 で GHS 2015.1.7 コンパイラのサポートを追加しました。
- SDKのアップグレード:
- STM32H750B SDKをv1.11.0に更新しました。
- STM32F469 SDKをv1.27.1へ
- Renesas RH850/D1M1A RGL SDKからv2.1.0aへ
- NXP RT1050およびRT1064からSDK v2.13.0
- NXP RT1060およびRT1170からSDK v2.13.1
- サイプレスTraveo II SDKから1.2.1へ
- AnimatedSprite の一時停止と再開のサポートを追加しました。
- QmlProjectの更新:
- UI リソースコンフィギュレーションを QmlProject に簡単に移行できるようにドキュメントを追加。
- クイックスタートガイドに
qmlprojectexporterのワークフローを追加。 - resourceAnimatedSpriteOptimizationsQmlProject プロパティを追加し、画像の変更された領域のみをレンダリングできるようにしました。
- GHSマルチIDEプロジェクトの生成をサポートしました。このオプションの詳細については、QmlProjectマニュアルを参照してください。
- Renesas RH850/D1M1AのLVDSディスプレイのサポートを追加しました。詳細については、サポートされているディスプレイのセクションを参照してください。
修正された問題
Qt for MCUs v2.5.4
- FMC コントローラーがブロックされている場合に、LTDC アンダーランが原因でSTM32F769I-DISCOVERYおよびSTM32H750B-DISCOVERYボードで発生する画面のちらつきを修正しました。
start()を呼び出したときに実行中のアニメーションが再起動しないように、アニメーション ロジックを修正しました。- PaintedItemDelegate をサブクラス化する際の不完全な型に関するコンパイル エラーの可能性を修正。
- スプライトアニメーションのリソースキャッシュサイズを正しく見積もるよう、
qulrccを修正。 - Spark フォントエンジンで特定の TrueType フォントを使用する際のエラーを修正しました。
- Qt License Server (QLS) を 3.2.0 にアップグレード。
qmltocppの修正:- 親モジュールの外部で使用する場合に、そのモジュール名で型を修飾するようにしました。
- 空の if ブロックに対して正しい C++ コードを生成するようにしました。
- アンカーに対して不正なコードを生成しないようにした。
- Loader または lRepeater のスコープ内のScriptAction インスタンスに対して正しい C++ コードを生成するようにしました。
- StaticText インスタンス用のコードを生成する際に、不要な
update()への呼び出しを削除する。
qmlprojectexporter修正:qmltocppに渡されるインクルード・パスの順序を修正。- QML ファイルを並列処理するための
--parallelと-jコマンドラインオプションを追加。 - モジュールからフォントファイルを収集。
fontcompilerに渡されるフォントファイルの順序を修正。- メインの
qmlprojectファイルではなく、モジュールのqmlprojectファイルでresourceCompression が有効になっていたことによるクラッシュを修正。
Qt for MCUs v2.5.3
- サンプルとデモの修正:
- Qt Quick Ultralite traveo_t2g_effects 例のぼかし効果におけるちらつきを修正。
- qmlprojectexporter の修正:
- qmlprojectexporter が
importPathsのモジュールを再帰的に探すように修正。URI はモジュールのqmlprojectファイルのインポートパスからの相対パスと一致しなければなりません。これはModuleFilesノードにモジュールを追加する代わりになります。 - Qt Creator のインポートが正しい順序でロードされるように
qmldirのインポートとしてqulModulesを追加するように qmlprojectexporter を修正しました。 - qmlprojectexporter が qmlprojects モジュールからフォントファイルを収集するように修正。
- qmlprojectexporter が
- qmltocpp の修正:
- 空の名前を持つユーザー定義状態を正しく扱うように。
- オブジェクトがデリゲートとして使用されていない場合に、必須プロパティが初期化されるようにした。
- オブジェクトがデリゲートとして使用されている場合にのみ、必須プロパティにモデル・プロパティの
m_cppNamePropertyが与えられるようにしました。 Component型のカスタムプロパティがsouceComponentのバインディングとして使用されているかどうかを確認し、クラッシュを回避します。- 親プロパティを
inlineコンポーネント宣言オブジェクトで使用できるようにしました。 inlineコンポーネントがローダーsourceComponentとして使用されている場合に、コンポーネント内部のアンカーバインディングを改善しました。- QMLカスタムコンポーネントまたはそのベースクラスがすでにattachedプロパティを定義しているかどうかをチェックし、コンポーネントが別のQMLファイルで初期化されたときに新しいattachedタイプのノードを生成しないようにしました。
- 変換されたテキストで不正な位置決めやレンダリングの不具合を引き起こすエラーを修正しました。
- STM32H750B-discoveryボード上でARM GCC 12.xツールチェーンでビルドする際のコンパイラーとリンカーの警告を修正しました。
PlatformContext::presentFrame()を呼び出さずにPlatformContext::endFrame()を呼び出した場合に発生するRenesas RH850 (他のプラットフォームにも影響する可能性があります) でのハングを修正しました。- Windows 上の IAR で
FREERTOS_PROVIDE_MEMORY_ALLOCATOR_OVERLOADSオプションを使用した場合のFreeRTOS メモリ・アロケータ・ビルドの問題を修正しました。 - Qt License Server からライセンスを取得するQt for MCUs のサポートを追加しました。
- 必須プロパティを未知の型で宣言するとクラッシュする問題を修正しました。
- サポートされている MSVC のバージョンのあいまいさを修正しました。
- シェイプとパーシャルバッファリング機能に関する機能マトリックスを修正しました。
- ソフトウェアラスタライゼーション下のアプリケーションに対するCMake設定のサポートを修正しました。
- ローダーによってアイテムが作成され、親の可視性がtrueに変更された場合に、ネストされたプロパティの可視性がバインドされないように修正しました。
- STMF769プラットフォーム用のウェアラブルアプリケーションで、UIがグリッチする問題を修正しました。
- Clang 17でビルドに失敗するのを修正した。
importPathsでモジュールが自分自身に依存しないようにqmlprojectを修正。- RGB888のアルファブレンディングを修正し、補間関数に最初のバイトだけを渡すのではなく、色全体を渡すようにした。
Qt for MCUs v2.5.2
- IARでビルドされたSTM32H750B-discoveryボードのUIアーチファクトのちらつきを避けるため、ウォッチデモの色深度を減らしました。
- 左寄せされていないRTLテキストをレンダリングする際のアサートとUIアーティファクトを修正しました。
- SwipeView の動作を修正し、ビューの有効化および無効化がその子にも影響するようにした。
qmltocpp修正- 引用符で囲まれた文字列リテラルに対して有効な C++ コードを生成するようにしました。
- JavaScript関数のオブジェクトをポインタとして扱うようにしました。
- RotationAnimation の
fromとtoプロパティに正しい型を使用するようにしました。 - Qt との互換性を向上させるために、ドットではなくアンダースコアを使用した翻訳ファイル名をサポートしました。
- MCU.Config.fontVectorOutlinesDrawingが有効になっている場合、Sparkフォントエンジンの状態更新に関する問題を修正しました。
- Spark フォント・エンジンを使用する際に、ヒープとグリフ・キャッシュに十分なメモリを使用するように
fontcompilerを修正しました。 - デスクトップ・プラットフォームでウィンドウのサイズを変更する際の不明なアーティファクトを修正しました。ウィンドウは固定サイズになりました。
- ソフトウェアレンダラーが不明な画像フォーマットを使用するとエラーを報告するように修正。
- アプリケーションをクラッシュさせる可能性のある無効なメモリーアクセスを回避するために、ImageLayer の実装を修正した。
- ShapePath の修正:
- strokeWidth が
0の場合、デフォルト値 (1) を使用するようにした。これにより、Qt とのコードの互換性が向上しました。 QUL_COLOR_DEPTHが8の場合、パスのブレンドを修正するためにQt Quick Ultralite グラフィックエンジンを修正。
- strokeWidth が
qmlprojectexporterの修正:- 依存関係の欠落により
qmlprojectexporterが失敗した場合に有用なエラーメッセージを報告するように CMake のロジックを修正。 qmlprojectファイル内の異なるファイルノードのfilterプロパティを無視するようにしました。- インポートされたモジュールの依存関係をモジュールに含めることで、リンカーエラーを回避。
- 依存関係の欠落により
- レンダリングツリー内の誤った不透明領域による UI アーティファクトを修正しました。レンダラーは、子要素が境界内にある場合にのみ、子要素の不透明領域を計算します。
- キャッシュされた複雑なテキストのアウトライン生成を最適化し、アウトラインの数が多くなることによる UI の不具合を回避。
- アニメーションで使用される画像がクリップされないように、AnimatedSpriteDirectory のローカル境界を修正。
- FreeTypeのレンダリングプールサイズを修正し、図形のレンダリング中のちらつきを回避。
Qt for MCUs v2.5.1
- Qtデスクトッププラットフォームライブラリを修正し、Qt for MCUs アプリケーションがデスクトップ上でビジーループしないようにしました。
- StaticText,Rotation,Scale QML タイプのQt Creator による不明なプロパティの警告を回避するために
qmltocppを修正しました。 - サンプルとデモの修正:
- デスクトップ上での端のクリッピングを避けるため、watchデモのメインウィンドウに明示的なサイズを追加。
- swipe_game デモを修正し、予期せぬアーティファクトを回避。オーバーラップするMouseArea オブジェクトを削除し、垂直スクロールのみに制限。
- レンダリングのアーティファクトを避けるため、sprite_animationsを修正。
- 無効化されたアイテムのタッチイベントを取得しないよう、SwipeView を修正。
zの値を持つ子アイテムの間違ったスタック順を修正。- AnchorChanges ドキュメントのコード・スニペットを更新。
- プロパティのバインディングに基づいてアイテムをアニメーション化する際のクラッシュを修正。
- SwipeView のリグレッションを修正し、最小または最大のインデックスを超えてスワイプした場合でも
setCurrentIndex()が期待どおりに動作するようにしました。 EventQueue::isEmpty() メソッドを使用することにより、STM デバイスでイベント・キューのオーバーランを修正。- QML ファイルを持たないモジュール上で
qmltocppを呼び出さないようにqmlprojectexporterを修正しました。 - AnimatedSprite に関する以下の問題を修正しました:
- クロップ時に同じフレームの最適化を適用しないようにしました。
- クロッピング最適化のために RLE 圧縮を有効にしました。
- QmlProjectのストレージセクションの設定を修正。
qmlprojectexporterにライセンスチェックを追加。- PropertyChanges の遷移アニメーションを修正し、間違った状態からのプロパティバインディングの使用を回避。
setValue()メソッドを呼び出すたびに古いバインディングがクリアされます。 - C++からトリガーされるアニメーションが早期に終了しないように修正。
- GHSプロジェクトに欠けていた最適化を追加するために、
qmlprojectexporterを修正しました。
Qt for MCUs v2.5.0
- 自動ラップされたテキストアイテムの水平アライメントが
Text.AlignRightまたはText.AlignHCenterの場合のアサーションを修正。 - テキストキャッシュのパフォーマンスを改善。
- テクスチャキャッシュを内部 RAM に移動しました。
- Qt Creator におけるキット設定のサポートを改善。
- SwipeView がドラッグ中にcurrentIndex を更新するように修正。
- ProgressBar の実装を修正し、
fromとtoのプロパティをデフォルト値で初期化するようにしました。 ResourceCropImageSequenceの最適化サポートを改善し、画像シーケンスから透明ピクセルを削除するようにしました。qulrccを修正し、同じフレームの保存データを再利用するようにした。- DrawingEngine がパスポイントに対して行うメモリ割り当てを最適化。
- すべてのプラットフォームで動作するように、
example-platformの実装を C++03 にダウングレード。 - QmlProject の修正:
- プレフィックスが
QDSでない DS プロパティを無視するようにした。 - MinGWツールチェーン使用時のビルドの失敗を避けるために、
libclangの依存関係を追加しました。 qmlprojectexporterが大規模なプロジェクトを処理するのに十分な時間を確保できるように、デフォルトの処理タイムアウト間隔を長くしました。- リンカーオプションを 1 行で収集し、インクルードするようにロジックを更新しました。
- QML モジュールの依存関係を含めるようにファイルセレクタのロジックを修正しました。
- プレフィックスが
- 例とデモ:
- STM32F769でちらつきが発生しないように、thermoデモを修正。
- NXP i.MX RT1170プラットフォームで要素が小さくなりすぎるのを防ぐため、shapesサンプルの向きを水平から垂直に修正。
- 画面の向きに基づいてフラグ画像のサイズを変更する翻訳例を更新しました。
- NXP RT1050 で LED が点滅するようにfreertos_multitaskサンプルの LED PIN 設定を更新。
- C++ プロパティで
onChangedQML ハンドラを使用した際のメモリ破損を修正。 - Renesas RH850/D1M1Aの外部オクタ・フラッシュのフラッシュ・ターゲットを修正しました。
- QML で使用される C++ 機能への相対パスを使用するように
qmltocppを修正。 MinSizeRel以外のビルド・タイプのRenesas RA6M3G で、内部フラッシュ・ストレージの不足に関する CMake 警告を追加。 詳細はRenesas EK-RA6M3G 評価キットを参照。
新しいAPI
アプリケーション開発用 API
新しい QML プロパティ
QML 型AnimatedSprite :
(since Qt Quick Ultralite 2.5) | paused : bool |
新しいQMLメソッド
QML TypeAnimatedSprite :
以前のバージョンでの変更点
v1.1.0での変更点 | |
v1.2.0での変更点 | |
v1.3.0での変更点 | |
v1.4.0の変更点 | |
v1.5.0の変更 | |
v1.6.0の変更 | |
v1.7.0の変更 | |
v1.8.0の変更 | |
v1.9.0の変更 | |
v2.0.0の変更点 | |
v2.1での変更点 | |
v2.2の変更点 | |
v2.3の変更点 | |
v2.4.0の変更点 | |
v2.5の変更 | |
v2.6.0の変更点 | |
v2.7.0の変更 | |
v2.8.0の変更 | |
v2.9.0の変更 | |
v2.10.1の変更 | |
v2.11.0の変更 |