qt - 何时评估分配给属性的 qml 谓词?
问题描述
编写如下代码时:
Item{
id: item
enabled: backend.property == "X"
}
谓词何时被评估。一次?还是每次财产变化?
此外,在状态更改中分配属性时它如何应用:是在状态更改时评估一次还是在每次发出属性更改信号时进行评估?
State {
name: "One"
when: step == 2
PropertyChanges {
target: item
enabled: backend.property == "X"
}
解决方案
每当谓词中发生的任何属性发生更改(通过Q_PROPERTY(... NOTIFY signalX)
)时,都会评估分配。在您的示例中,这可以是backend
或property
。
您的PropertyChanges
示例中的 将执行相同的操作,每次任何属性更改时都会对其进行评估。如果您分配true
给该explicit
属性,它将是一次性评估,即状态更改的那一刻。
推荐阅读
- javascript - 异步链接模式
- amazon-sqs - 如何允许 AWS SQS 仅由一个 lambda 读取?
- javascript - 带有 JSON 数据的 jQuery 循环
- python - 从 Pandas Column 获取每行一个值的列表
- deep-learning - 数据并行大小的全局批处理增加导致 OOM 错误
- apache-spark - 无法将数据从 spark 最终数据帧写入 hive ACID 表
- javascript - chrome扩展onMessage回调在扩展外的页面上执行js函数
- javascript - 通过 jQuery 关闭任何 Select2 下拉菜单
- r - 从列表中提取数据帧到全局环境
- ios - Flutter iOS 设置