Qt 其中一个变量改变值

Qt 其中一个变量改变值,qt,qml,Qt,Qml,例如,我有: property var taskType: null property var taskKind: null 因此,当我每次想运行一些脚本时,我会执行如下操作: onTaskTypeChanged: { bla() } onTaskKindChanged: { bla() } if (taskTypeChaned OR taskKindChanged) { bla() } 如你所见,当其中一个发生变化时,我需要运行相同的函数。。。然而,两者同时发生变化,所以我只希望运行一次

例如,我有:

property var taskType: null
property var taskKind: null
因此,当我每次想运行一些脚本时,我会执行如下操作:

onTaskTypeChanged: { bla() }
onTaskKindChanged: { bla() }
if (taskTypeChaned OR taskKindChanged) { bla() }
如你所见,当其中一个发生变化时,我需要运行相同的函数。。。然而,两者同时发生变化,所以我只希望运行一次纸条。。。比如:

onTaskTypeChanged: { bla() }
onTaskKindChanged: { bla() }
if (taskTypeChaned OR taskKindChanged) { bla() }
但这显然是不正确的

那么,qml有没有办法计算这两个变量中的一个,然后运行脚本?

您可以使用以下函数:

onTaskTypeChanged: Qt.callLater(bla)
onTaskKindChanged: Qt.callLater(bla)
您可以使用以下功能:

onTaskTypeChanged: Qt.callLater(bla)
onTaskKindChanged: Qt.callLater(bla)