C
2.7の新機能
Qt Quick Ultraliteはマイナーリリース間のソース互換性を維持しています。しかし、いくつかの変更点は、それに応じてアプリケーションコードを適応させる必要があるかもしれません。以下のセクションでは、そのような変更点を強調します:
重要な変更
- Infineon TRAVEO T2G CYT4EN (技術プレビュー)のサポートを追加。
- Application QML タイプを非推奨とし、その代替としてApplicationScreens QML タイプを追加。
新機能
- Studio.Components モジュールとArcItem スタジオコンポーネントを追加。
- StaticText の実装をリファクタリングし、使用しているフォントエンジンに関係なく、Text と同様のレイアウトにしました。また、複数行のStaticText アイテムが拡大縮小されたときに整列し、暗黙の水平アライメントが正しくなるようにした。
- デモと例の更新
- QUL_PLATFORM_DEFAULT_LAYER_RENDERING_HINTSCMake 変数を追加し、プラットフォームレイヤーエンジンにデフォルトのレンダリングヒントを設定できるようにしました。
- 線形グラデーションによる塗りつぶしパスのサポートを追加:
- DrawingEngine API を追加。
- ShapePath とRectangle を線形グラデーションで描画できるようにGradient QML タイプを追加。
- Infineon TRAVEO T2G およびNXP i.MX RT1170 リファレンスボードにおける線形グラデーションのハードウェアアクセラレーションによるブレンドのサポートを追加。
- Coreライブラリでエラーが発生した場合に、DesktopバックエンドでGUIがフリーズする問題を修正しました。バックエンドは、エラーが検出された場合に実行を停止するエラー・ハンドラを持つようになりました。
- IARでビルドする際の重複ファイルの警告を修正しました。
- アプリケーションが大量のイメージを使用する場合に、名前の衝突を避けるためにより良いハッシュ技術を使用するように
qulrccを修正しました。 - ARM GCC 12.x ツールチェーンでビルドする際のコンパイラとリンカの警告を修正しました。
- デモとサンプルを修正:
- STM32ボード上のthermoデモのレンダリングパフォーマンスを向上させるため、テキストキャッシュサイズを増やしました。
- freertos-multitask の例を更新し、キューを使用してQt Quick Ultralite プロパティを設定し、Qt Quick Ultralite と他のスレッド間で双方向通信する方法を示しました。
- 線形グラデーションの使用方法を示すために、Shapes の例を更新しました。
- 空の構造体に対してより良いコードを生成するように
qmltocppをリファクタリングしました。これにより、アプリケーションに応じてフラッシュ・メモリーのフットプリントが改善されました(3%から7%)。 - アップグレード:
- TRAVEO T2G CYT4DN SDKバージョン2e.2.0。
- TRAVEO T2G サンプルドライバライブラリ(SDL) バージョン7.9.0。
- QmlProjectの更新:
- サポートされている言語をリストするために、
Project.supportedLanguagesプロパティを追加しました。 - デフォルト言語を設定するためのProject.primaryLanguageプロパティを追加しました。
qmlprojectファイルのノードとプロパティの検証を可能にするサニティチェックを追加しました。- 時計回りの回転角度を制御するMCU.Config.displayRotationAngleプロパティを追加しました。
- サポートされている言語をリストするために、
- 関数構文を使用したConnections シグナル・ハンドラ定義のサポートを追加しました。
- StaticText アイテム内の
Text.StyledTexttextFormat をサポートしました。これにより、HTMLタグを使用してインライン画像(サイズ付き)を追加できるようになります。 - カスタム画像デコーダーの実装を可能にするQul::PlatformInterface::ImageDecoder API を追加しました。詳しくは画像デコーダーの統合をご覧ください。
- 物理的なディスプレイの向きに合わせてアプリケーション全体の回転角度を設定するためのサポートを追加しました。詳しくは、MCU.Config.displayRotationAngleQmlProjectプロパティをご覧ください。
修正された問題
Qt for MCUs v2.7.1
- ディスプレイの回転角度が 90 または 270 に設定されている場合に、レイヤーの位置を修正しました。
qmlprojectexporterを修正し、大きなプロジェクトのエクスポートを高速化しました。QML ファイルの並列処理に--parallelまたは-jコマンドラインを使用。- Renesas
RH850のimage_cacheサンプルを AUTOSAR 上でビルドする際のリンクエラーを修正。 qmltocppの修正:- インクルードリストを正しい順序で生成。
- 型がモジュール外で使用されている場合、モジュール名を修飾するようにしました。
- クラッシュを回避するために、インラインコンポーネント宣言オブジェクトで parent プロパティを使用できるようにしました。
- インラインコンポーネントがLoader のsourceComponent として使用されている場合、その内部のアンカーバインディングを改善しました。
- Component タイプのカスタム プロパティが souceComponent のバインディングとして使用されているかどうかをチェックし、クラッシュを回避します。
- 他の QML ファイルからオブジェクトのエイリアスにアクセスする際のクラッシュを修正しました。
- QulPerf を修正し、録画が有効な場合にのみパフォーマンス・メトリクスの値が更新されるようにしました。
- 画像が入力バッファより小さい場合にSTM でクラッシュしないように画像デコーダを修正。
- sprite_animationsの例を修正し、レンダリングのアーティファクトを回避。
- ホスト・ツール
qulrcc,qmltocpp,fontcompilerを修正し、生成されるコードが一貫していることを確認。 - generateQmltypes が有効なQtQuick.Controls モジュールの読み込みエラーを修正。
qmlprojectexporterは--qml-mappings-dir引数を必要とし、そのようなモジュールをロードし、また、それらのモジュールが見つからない場合、より多くの情報を提供します。
Qt for MCUs v2.7.0
qmlprojectexporterの修正:- QmlFilesノードの重複をチェックし、削除。
- 異なるファイルノードのファイルの種類をチェックし、そのノードに関連するファイルであることを確認。
- モジュールからフォントファイルを収集。
- IDベースの翻訳を使用しているときに、TranslationFiles.MCU.omitSourceLanguageQmlProject プロパティがtrueでない場合に警告を出すようにしました。
qmlprojectexporterが見つからない依存関係のために失敗した場合に、有用なエラーメッセージを報告するように CMake のロジックを修正しました。- インストールされたビルドでシステムの Clang を使用しないようにしました。
qmltocppの修正:- プロジェクトの C++ 標準に基づいて C++ コードを生成するようにした。
- 関数の引数でオブジェクト・ポインタを受け付けるようにしました。
- C++関数をシグナル・ハンドラとみなす前に、プロパティのシグナル・ハンドラ(
"on"接頭辞付き)を検索するロジックを修正。 - デフォルト状態の
when条件を考慮するようにしました。 - StateChangeEvent の前に、宣言された
stateプロパティを考慮するようにしました。 - QML から生成されるコードを改良して空の構造体を回避し、フラッシュ・メモリーのフットプリントをアプリケーションに応じて 3 % から 7 % に改善しました。
- Qt との一貫性を保つためにCheckBox::checkState の列挙型を変更しました。
- 1ピクセルのオフセットのために変換されたテキストの間違った位置とレンダリングの不具合を修正。
- Spark フォントエンジンで複雑なテキストをレンダリングする際に、グリフ間の間隔が間違っていたのを修正。
- ARM GCCのSTM32H750B-DISCOで重複定義の警告を修正。
fontcompiler修正:- Sparkフォントエンジン使用時に、ヒープとグリフキャッシュに十分なメモリを使用するようにしました。
QUL_ASSERTでエラーメッセージを表示した後、優雅に終了するようにした。
- Renesas RH850 用にビルドする際の GHS 2018 コンパイラの警告を修正。
- Qt Quick と互換性があるようにArcItem の実装を改善しました。
- Item の実装を修正し、可視性の更新がvisible プロパティのプロパティバインディングを考慮するようにしました。
- IAR ベアメタルプラットフォームのthermo_demo(ベンチマークモード) のヒープ構造フィールドを修正。
- FreeType ラスタライザを更新し、
ARGB32_PremultipliedおよびARGB4444_Premultipliedフォーマットをサポートしました。 - Clang リソースへの正しいパスを見つけるように CMake のロジックを修正。
新しい API
アプリケーション開発用API
新しいQML型
新しいQMLプロパティ
QMLタイプRectangle :
(since Qt Quick Ultralite 2.7) | gradient : Gradient |
QMLタイプShapePath :
(since Qt Quick Ultralite 2.7) | fillGradient : ShapeGradient |
プラットフォーム開発用API
新しいクラス
新しいグローバル機能
(since Qt Quick Ultralite (Platform) 2.7) void | generateGradientColorTable(const Qul::PlatformInterface::GradientStops &gradientStops, float opacity, Qul::PlatformInterface::Rgba32 *colorTable, int size, bool premultipliedAlpha) |
旧バージョンでの変更点
- 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