このページでは

ベース状態の作成

コードを整理するために、アプリケーションで必要となるすべてのコンポーネントを含むベースステートを作成します。その後、一連のコンポーネントの表示・非表示を切り替えたり、そのプロパティを変更したりするステートを作成できます。これにより、以下のことが可能になります:

  • 異なるビュー上のコンポーネント同士の位置を揃えることができます。
  • プロパティの変更を過度に避けることができます。ベース状態でコンポーネントが表示されていない場合、その子コンポーネントに対するすべての変更をプロパティの変更として定義する必要があり、コードが複雑になってしまいます。
  • ベース状態と他の状態との違いを最小限に抑え、コードを短く読みやすく保ち、パフォーマンスを向上させます。
  • 状態を切り替える際のトランジションやアニメーションの使用に伴う問題を回避できます。

ステートを使用したアプリケーションビューの作成

ステートを使用してアプリケーションのビューを作成するには:

  1. View >Views >States に移動します。
  2. ベース状態(base state)に、アプリケーションで必要となるすべてのコンポーネントを追加します(1)。1つのビューの作業中は、Navigator で「「Eye」ボタン 」を選択することで、ビューの一部ではないコンポーネントをキャンバスから非表示にできます。
  3. States 」で、「+ 」アイコンを選択して新しい状態を作成し、名前を付けます。例:Normal
  4. Properties (2) で、このビューで不要な各コンポーネントについて、「Visibility 」をクリアするか、「Opacity 」を 0 に設定します。親コンポーネントにこの設定を指定すると、すべての子コンポーネントがそれを継承し、同様に非表示になります。
  5. 各ビューに対して追加のステートを作成し、そのビュー内のコンポーネントの可視性や不透明度を設定します。
  6. アプリケーションの起動時にどの状態を適用するかを決定するには、[Default] を選択します。

状態を使ってコンポーネントを表示・非表示にする。

状態のグループ化

ステートグループを使用すると、同じビュー内の他のコンポーネントやそのステートとは独立して、特定のコンポーネントのステートを変更できます。

各ステートグループには、独自のプロパティ変更と遷移があります。

デフォルトでは、1 つのデフォルトのステートグループがあります。

状態の拡張

ある状態が別の状態を拡張する場合、その状態のすべての変更を継承します。拡張される状態は、拡張する状態によって指定された変更に関して、ベース状態として扱われます。

拡張状態を使用することで、ユーザーインターフェースや QML コードをよりすっきりさせることができます。

次の例では、State1State2 の唯一の違いは、directionalLight の明るさだけです。

ここでは、拡張状態は使用されていません:

米国内の3つの州は、拡張された州として表示されません。

ここでは、State2State1 から拡張されています:

「States」ビュー内の3つの州。State1からState2へと広がっている。

「ハウツー:状態の操作」、「Qt Quick のUIデザイン」、「 Qt Quick のUIデザインも参照してください

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.