このページでは

C

バージョン2.7の新機能

Qt Quick Ultraliteは、マイナーリリース間のソース互換性を維持しています。ただし、一部の変更により、アプリケーションコードを適宜修正する必要がある場合があります。以下のセクションでは、そのような変更点について説明します。

重要な変更点

  • Infineon TRAVEO T2G CYT4EN(テクノロジープレビュー)のサポートが追加されました。
  • Application のQML型を非推奨とし、代わりにApplicationScreens のQML型を追加しました。

新機能

  • Studio.Components モジュールとArcItem Studio コンポーネントが追加されました。
  • StaticText の実装をリファクタリングし、使用しているフォントエンジンに関係なく、Text と同様のレイアウトになるようにしました。これにより、StaticText の複数行アイテムがスケーリングされた際に適切に整列され、暗黙的な水平方向の配置も正しく行われるようになりました。
  • デモおよびサンプルへの更新:
    • 自動車関連のデモを更新し、ハードウェアボタンを使用してシミュレーションを制御できるようにしました。
    • デモを視聴するためのベンチマークモードを追加しました。
  • デフォルトのレンダリングヒントを使用してプラットフォームレイヤーエンジンを設定できるようにするため、CMake変数 `QUL_PLATFORM_DEFAULT_LAYER_RENDERING_HINTS` を追加しました。
  • 線形グラデーションを使用したフィルパスのサポートを追加しました:
    • DrawingEngine API を追加しました。
    • Gradient QML タイプを追加し、線形グラデーションを使用した `ShapePath ` および `Rectangle ` の描画を可能にしました。
    • Infineon TRAVEO T2GおよびNXP i.MX RT1170リファレンスボードにおいて、線形グラデーションのハードウェアアクセラレーションによるブレンド機能をサポートしました。
  • Coreライブラリでエラーが発生した場合にデスクトップバックエンドの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.StyledText ` `textFormat ` のサポートを追加しました。これにより、HTML タグを使用して(サイズを指定した)インライン画像を追加できるようになりました。
  • カスタム画像デコーダを実装できるようにするため、Qul::PlatformInterface::ImageDecoder API を追加しました。詳細については、「画像デコーダの統合」を参照してください。
  • 物理ディスプレイの向きに合わせて、アプリケーション全体の回転角度を設定する機能を追加しました。詳細については、MCU.Config.displayRotationAngleQmlProject プロパティを参照してください。

修正された問題

Qt for MCUs v2.7.1

  • 表示の回転角度が90または270に設定されている場合のレイヤーの位置合わせを修正しました。
  • qmlprojectexporter を修正し、大規模なプロジェクトのエクスポートを高速化しました。QMLファイルを並列処理するには、--parallelまたは-j というコマンドラインオプションを使用してください。
  • AUTOSAR上でRenesasRH850image_cacheサンプルをビルドする際のリンクエラーを修正しました。
  • qmltocpp に対する修正点:
    • インクルードリストを正しい順序で生成するようにしました。
    • モジュール外で使用される場合、型にモジュール名を付加するようにしました。
    • クラッシュを防ぐため、インラインコンポーネント宣言オブジェクトで親プロパティを利用可能にしました。
    • LoadersourceComponent として使用される場合、インラインコンポーネント内のアンカーバインディングを改善しました。
    • クラッシュを防ぐため、Component型のカスタムプロパティがsourceComponentのバインディングとして使用されていないかを確認する。
    • 他の QML ファイルからオブジェクトエイリアスにアクセスした際のクラッシュを修正しました。
  • QulPerf を修正し、記録が有効になっている場合にのみパフォーマンスメトリックの値が更新されるようにしました。
  • 画像が入力バッファよりも小さい場合に、STM でクラッシュが発生しないよう、画像デコーダを修正しました。
  • sprite_animationsのサンプルを修正し、レンダリング上の不具合を解消しました。
  • ホストツール `qulrcc`、`qmltocpp`、および `fontcompiler ` を修正し、生成されるコードの一貫性を確保しました。
  • generateQmltypesが有効な状態でQtQuick.Controls モジュールを読み込む際のエラーを修正しました。qmlprojectexporter では、このようなモジュールを読み込むために--qml-mappings-dir引数が必要であり、また、それらのモジュールが見つからない場合に詳細な情報を提供するようになっています。

Qt for MCUs v2.7.0

  • qmlprojectexporter 修正点:
    • QmlFilesノード内の重複エントリをチェックし、削除するようにしました。
    • 各ファイルノード内のファイルの種類を確認し、そのノードに関連するファイルであることを確認しました。
    • モジュールからフォントファイルを収集しました。
    • ID ベースの翻訳を使用する際、QmlProject プロパティの `TranslationFiles.MCU.omitSourceLanguage` が `true` でない場合に警告を表示する。
    • 依存関係の欠如によりqmlprojectexporter が失敗した場合、有用なエラーメッセージを報告するようCMakeのロジックを修正しました。
    • ビルドがインストールされている場合は、システムの Clang を使用しないようにしました。
  • qmltocpp 修正点:
    • プロジェクトの C++ 標準に基づいて C++ コードを生成する。
    • 関数の引数としてオブジェクトポインタを受け入れるようにしました。
    • C++関数をシグナルハンドラとして扱う前に、プロパティのシグナルハンドラ("on" 接頭辞付き)を検索するロジックを修正します。
    • デフォルトの状態について、when の条件を考慮するようにしました。
    • StateChangeEventの前に、宣言されたstate プロパティを考慮する。
    • QML から生成されるコードを改善し、空の構造体を回避することで、アプリケーションに応じてフラッシュメモリの占有率を 3 % から 7 % 改善しました。
  • CheckBox::checkState の列挙型を Qt XML と整合するように変更しました。
  • 1 ピクセルのオフセットによる、変形されたテキストの位置ずれやレンダリングの不具合を修正しました。
  • Spark フォントエンジンを使用して複雑なテキストをレンダリングする際に、グリフ間の間隔が不正確になる問題を修正しました。
  • ARM GCC を使用している STM32H750B-DISCO における定義の重複に関する警告を修正しました。
  • fontcompiler 修正点:
    • Sparkフォントエンジンを使用する際、ヒープおよびグリフキャッシュ用に十分なメモリを確保するようにしました。
    • QUL_ASSERT でエラーメッセージを表示した後、正常に終了するようにしました。
  • Renesas RH850向けにビルドする際のGHS 2018コンパイラ警告を修正しました。
  • ArcItem の実装を改善し、Qt Quick との互換性を確保しました。
  • Item の実装を修正し、可視性の更新において、そのvisible プロパティへのプロパティバインディングが確実に考慮されるようにしました。
  • IAR ベアメタルプラットフォーム上のthermo_demo(ベンチマークモード)のヒープ構造フィールドを修正し、ヒープ使用量の誤った報告を防ぐようにしました。
  • ARGB32_Premultiplied およびARGB4444_Premultiplied フォーマットをサポートするよう、FreeType ラスタライザを更新しました。
  • 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)

以前のバージョンでの変更点

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。