基本ステートを作成する
コードをすっきりさせるために、アプリケーションで必要なすべてのコンポーネントを含む基本ステートを作成します。それから、コンポーネントのセットを非表示にしたり表示したり、プロパティを変更したりする状態を作成します。これにより、以下のことが可能になります:
- 異なるビュー上のコンポーネントを互いに整列させる。
- プロパティの過剰な変更を避けることができます。ベースステートでコンポーネントが非表示の場合、子コンポーネントのすべての変更をプロパティの変更として定義する必要があります。
- コードを短く読みやすく保ち、パフォーマンスを向上させるために、基本状態と他の状態との間の差異を最小限に抑えましょう。
- 状態を変更するときにトランジションやアニメーションを使用すると、問題が発生するのを避けることができます。
状態を使用してアプリケーション・ビューを作成する
ステートを使用してアプリケーションのビューを作成するには、以下の手順に従います:
- View >Views >States に移動します。
- ベース状態に、アプリケーションで必要となるすべてのコンポーネントを追加します (1)。1つのビューで作業している間に、Navigator で
を選択すると、ビューの一部ではないキャンバス上のコンポーネントを非表示にすることができます。 - States で、+ シンボルを選択して新しい状態を作成し、名前を付けます。例えば、
Normal。 - Properties (2)で、このビューで不要な各コンポーネントについて、Visibility をクリアするか、Opacity を 0 に設定します。親コンポーネントの設定を指定すると、すべての子コンポーネントがそれを継承し、非表示になります。
- 各ビューに追加の状態を作成し、ビュー内のコンポーネントの可視性または不透明性を設定します。
- アプリケーションの起動時に適用される状態を決定するには、Default を選択します。

状態のグループ化
状態グループを使用すると、同じビュー内の他のコンポーネントやその状態から独立して、特定のコンポーネントの状態を変更することができます。
各状態グループには、独自のプロパティ変更と遷移があります。
デフォルトでは、デフォルトの状態グループは1つです。
状態の拡張
状態が他の状態を拡張すると、その状態のすべての変更を継承します。拡張される状態は、拡張する状態によって指定される変更に関して、ベース状態として扱われます。
拡張ステートを使用することで、ユーザーインターフェースやQMLコードをすっきりさせることができます。
次の例では、State1 とState2 の間の唯一の変化は、directionalLight の明るさです。
ここでは、拡張状態は使われていません:

ここでは、State2 がState1 から拡張されています:

参照: How to:How to:Work with states,Qt Quick UI design,DesigningQt Quick UIsも参照してください。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.