このページでは

条件を設定する

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

ある状態がいつ適用されるかを決定するには

  1. View >Views >States に進む。

    州の見解

  2. When Condition で、編集ボタン を選択する。
  3. Binding Editor で、状態にwhen プロパティを指定する。
  4. 状態を適用するときにtrue と評価されるブーリアン式をプロパティの値に設定します。

when の条件は、左から右へ、コードに現れる順に評価されます。したがって、2つの異なる状態に対する2つの条件があり、両方ともtrue と評価される場合、最初の状態が適用されます。

条件バインディングの作成

Binding Editor で、式を作成するコンポーネントとプロパティを選択します。たとえば、ボタンが押されたときの状態を変更するには、button コンポーネントとその pressed プロパティを選択します。

ステート・ビューのバインディング・エディター。

Binding Editor で式を構成すると、コード補完機能により、式で使用できるコンポーネントとそのプロパティが一覧表示されます。

論理演算子の概要

以下の論理演算子を式で使用すると、複数の条件を 1 つの式にまとめることができます:

演算子意味以下の場合、true に評価されます。
!NOT条件を満たさない。
&&AND両方の条件を満たす。
||ORどちらかの条件を満たす
<より小さい左オペランドが右オペランドより小さい。
>より大きい左オペランドが右オペランドより大きい。
>=大なり左オペランドが右オペランドより大きいか等しい。
<=以下左オペランドが右オペランド以下である。
==等しいオペランドが等しい。
===厳密な等号オペランドは等しく、同じ型です。
!=等しくない。オペランドが等しくない。
!==厳密には等しくない。オペランドは同じ型だが等しくないか、異なる型である。

さらに、チェックの前に算術演算子を使用して数値を比較することもできます。しかし、可能な限り、この目的のために別のプロパティを作成することをお勧めします。

when 条件の例

ボタンが押されたときにボタンに状態を適用するには、次のように記述します:

when: control.pressed

ボタンが押されていないときの状態を適用するには、NOT を選択します。

バインディングエディターの「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.