到目前为止,我一直在使用QML中的StackView从一个屏幕转到另一个屏幕。但我发现也可以创建不同的项目,将其设置为可见或不可见,以使用新视图更新屏幕。我可以有一个标题,一个设置为可见的主项(Item1)和一个页脚。然后,我可以将Item1设置为不可见,将Item2设置为可见。
我想知道每种解决方案的优点/缺点是什么? (StackView VS视图可见/不可见)
答案 0 :(得分:3)
正如@ddriver所说,使用StackView
的好处在于你不必自己动手。我怀疑你不使用StackView获得的性能优势(如果你得到一个)将超过代码可读性的下降。如果我必须维护您的代码并看到您自己正在执行此操作,那么我要问的第一个问题就是您为什么不使用StackView
。
StackView
免费获得动画,因为默认情况下它们存在并且您不必编写单行获得漂亮动画的代码。currentIndex
属性进行比较,例如:您的main.qml
文件。给每个"页面"索引并为每个项目设置visible: index == currentIndex
。您必须确保在动画之后发生这种情况(如果您有)。StackView
的典型用例是推送由Component
实例化和管理项目的StackView
。如果你有很多复杂的网页,那么当不可见时,你 会影响效果。我可以将标题,主要项目(Item1)设置为可见和页脚。
Page
和ApplicationWindow
也有此功能。
如果您将其作为学习练习,请务必使用自定义实施。
如果您的目标是获得可靠的(StackView
自动测试并向公众公开)成品,请使用StackView
。