条件の設定
when の条件を設定して、複数のコンポーネントのプロパティの真偽を評価し、これらの条件が適用される状態へUIを切り替えます。真偽の判定や、ある値以上かどうかなどの評価が可能です。また、ANDやORなどの演算子を使用して、複数のコンポーネントの真偽を評価することもできます。
状態が適用されるタイミングを決定するには:
- 「View 」 > 「Views 」 > 「States 」に移動します。

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

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

ボタンが押されておらず、選択されておらず、かつホバーもされていない場合に状態を適用するには、次のように条件を組み合わせます。
when: !control.pressed && !control.checked && !control.hovered
ボタンが押されているか選択されているが、ホバーされていない場合に状態を適用するには、次のように記述します:
when: control.pressed || control.checked && !control.hovered
「方法: 状態の操作」、「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.