首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >State.when对Item.state属性

State.when对Item.state属性
EN

Stack Overflow用户
提问于 2016-03-04 21:28:12
回答 1查看 98关注 0票数 1

QML when类型的State属性可用于控制应由布尔表达式应用状态的时间。

当我显式地设置QML的state属性时,它似乎覆盖了所有状态对象的when属性,如下所示:

代码语言:javascript
复制
Item {
    id: item

    anchors.fill: parent
    states: [
        State {
            name: "when state"
            when: 1 === 1
        },
        State {
            name: "explicit state"
        }
    ]

    onStateChanged: console.log("state = " + state)

    MouseArea {
        anchors.fill: parent

        onPressed: item.state = "explicit state"
        onReleased: item.state = ""
    }
}

item的初始状态是由when表达式确定的“时间状态”。当按下MouseArea时,状态变为“显式状态”。释放鼠标按钮后,状态变为默认状态("")。when状态评估似乎已经停止。

有没有办法“恢复”到“什么时候”状态评估?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-13 12:52:59

对状态的when属性进行评估:

  • 当一组状态最初创建时
  • 当状态的when被更改时(通过设置或when绑定依赖于更改的任何属性)

所以不,你不能真的“重置”它。如果你能避免的话,我建议不要把这两种方法混在一起。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35806354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档