在本页

创建基本状态

为了保持代码的简洁,请创建一个基本状态,其中包含应用程序中需要的所有组件。然后可以创建状态,在其中隐藏和显示一组组件并修改其属性。这样你就可以

  • 使不同视图中的组件相互对齐。
  • 避免过多的属性更改。如果一个组件在基本状态下是不可见的,你就必须将对其子组件的所有更改定义为属性更改,这会导致代码复杂化。
  • 尽量减少基态和其他状态之间的差异,以保持代码的简短和可读性,并提高性能。
  • 避免在改变状态时使用过渡和动画的问题。

使用状态创建应用程序视图

使用状态创建应用程序视图:

  1. 转到View >Views >States
  2. 在基本状态中,添加应用程序中需要的所有组件 (1)。在一个视图上工作时,可以在Navigator 中选择眼睛按钮 来隐藏画布上不属于视图的组件。
  3. States 中,选择+ 符号创建一个新状态并为其命名。例如,Normal
  4. Properties (2)中,清除Visibility 或将Opacity 中不需要的每个组件设置为 0。如果指定了父组件的设置,所有子组件都会继承并隐藏。
  5. 为每个视图创建附加状态,并设置视图中组件的可见性或不透明度。
  6. 要确定应用程序启动时应用哪种状态,请选择Default

使用状态显示和隐藏组件

状态组

通过状态组,您可以改变某些组件的状态,而不受同一视图中其他组件及其状态的影响。

每个状态组都有自己的属性更改和转换。

默认情况下,只有一个默认状态组。

扩展状态

当一个状态扩展另一个状态时,它会继承该状态的所有变化。就扩展状态指定的变化而言,被扩展的状态被视为基本状态。

使用扩展状态可以使用户界面和 QML 代码更简洁。

在下面的示例中,State1State2 之间的唯一变化是directionalLight 的亮度。

这里没有使用扩展状态:

状态视图中有三个状态,没有扩展状态。

这里,State2 是由State1 扩展而来的:

国家 "视图中有三个国家,"国家 2 "是从 "国家 1 "延伸出来的。

另请参阅 如何使用状态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.