このページでは

C

ディスプレイ回転の設定

説明

例えば、縦長のディスプレイパネルで横長のUIを使用する場合などです。 Qt Quick Ultraliteは、このようなシナリオを処理するために、選択した90度の倍数でアプリケーションのコンテンツ全体を回転させることができます。例えば、アプリケーションプロジェクトのMCU.Config.displayRotationAngleプロパティを90 に設定することで、UIを横向きで設計・実装しながら、ディスプレイが実際に横向きであるかのように縦向きでレンダリングすることができます。最終的な効果を以下に示します:

画面を90度静的に回転させたポートレート・ディスプレイ上のランドスケープUI

使用方法

ディスプレイの回転は、MCU.Config.displayRotationAngleと MCU.Config.showDesktopPreviewInNaturalDisplayOrientationQmlProjectプロパティを使用して設定できます。次の設定例は、これらの使用方法を示しています:

MCU.Config {
    displayRotationAngle: 90
    showDesktopPreviewInNaturalDisplayOrientation: false
}

回転の動作は、アプリケーションがターゲット・ハードウェア上で実行されるか、デスクトップ上で実行されるかによって異なります。デフォルトでは、アプリケーションUIはデスクトップ・プラットフォーム上で回転せずにロードされますが、MCU.Config.showDesktopPreviewInNaturalDisplayOrientationを false に設定することで、この動作をオーバーライドできます。

PaintedItemでのカスタム描画の処理

回転が有効な場合、アプリケーションは、デバイス上の物理的な画面(物理座標系)と比較して、変換された座標系(仮想座標系)で動作します。PaintedItem のカスタム実装では、この違いを考慮する必要があります。

PaintedItemDelegate::paint() メソッドのカスタム実装では、transform 引数を処理し、必要な変換を適用する必要があります。

Qt Quick Ultralite painteditem 例は、カスタムペイントアイテムから画面の回転を処理する方法を示しています。

パフォーマンスへの影響

90, 180, 270 のディスプレイ回転角度が使用される場合、Resource Compilerはアプリケーションのqmlprojectファイルで指定されたイメージリソースをあらかじめ回転させます。こうすることで、実行時に回転させずにブレンドすることができ、コストのかかるパフォーマンスのオーバーヘッドを避けることができます。

同様に、フォントコンパイラーは、静的フォントエンジンのグリフのアルファマップと、いずれかのフォントエンジンでStaticText アイテムに使用されるアルファマップも事前に回転します。

Monotype Spark フ ォ ン ト エ ン ジ ン を使用す る 場合、 グ リ フ の輪郭はグ リ フ が ラ ス タ ラ イ ズ さ れ る 前に回転 さ れます。

MCU.Config.showDesktopPreviewInNaturalDisplayOrientationおよびMCU.Config.displayRotationAngleも参照してください

特定の Qt ライセンスの下で利用可能です。
詳しく調べる。