条件を設定する
when 条件を設定して、いくつかのコンポーネントのプロパティの真偽を評価し、これらの条件が適用される状態にUIを移動します。何かが真か偽か、何かより大きいか等しいかなどを評価できます。また、ANDやORなどの演算子を使用して、複数のコンポーネントの真偽を評価することもできます。
ある状態がいつ適用されるかを決定するには
- View >Views >States に進む。

- When Condition で、
を選択する。 - Binding Editor で、状態にwhen プロパティを指定する。
- 状態を適用するときに
trueと評価されるブーリアン式をプロパティの値に設定します。
when の条件は、左から右へ、コードに現れる順に評価されます。したがって、2つの異なる状態に対する2つの条件があり、両方ともtrue と評価される場合、最初の状態が適用されます。
条件バインディングの作成
Binding Editor で、式を作成するコンポーネントとプロパティを選択します。たとえば、ボタンが押されたときの状態を変更するには、button コンポーネントとその pressed プロパティを選択します。

Binding Editor で式を構成すると、コード補完機能により、式で使用できるコンポーネントとそのプロパティが一覧表示されます。
論理演算子の概要
以下の論理演算子を式で使用すると、複数の条件を 1 つの式にまとめることができます:
| 演算子 | 意味 | 以下の場合、true に評価されます。 |
|---|---|---|
| ! | NOT | 条件を満たさない。 |
| && | AND | 両方の条件を満たす。 |
| || | OR | どちらかの条件を満たす |
| < | より小さい | 左オペランドが右オペランドより小さい。 |
| > | より大きい | 左オペランドが右オペランドより大きい。 |
| >= | 大なり | 左オペランドが右オペランドより大きいか等しい。 |
| <= | 以下 | 左オペランドが右オペランド以下である。 |
| == | 等しい | オペランドが等しい。 |
| === | 厳密な等号 | オペランドは等しく、同じ型です。 |
| != | 等しくない。 | オペランドが等しくない。 |
| !== | 厳密には等しくない。 | オペランドは同じ型だが等しくないか、異なる型である。 |
さらに、チェックの前に算術演算子を使用して数値を比較することもできます。しかし、可能な限り、この目的のために別のプロパティを作成することをお勧めします。
when 条件の例
ボタンが押されたときにボタンに状態を適用するには、次のように記述します:
when: control.pressed
ボタンが押されていないときの状態を適用するには、NOT を選択します。

ボタンが押されず、選択されず、ホバーオンもされないときに状態を適用するには、次のように条件を組み合わせます:
when: !control.pressed && !control.checked && !control.hovered
ボタンが押されたり選択されたりしているが、カーソルが置かれていないときに状態を適用するには、次のように書きます:
when: control.pressed || control.checked && !control.hovered
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.