2017-01-29 25 views
0

一旦某些条件成立,我需要执行一些QML插槽。QML类型是否允许在某些条件成立时执行某些操作?

我知道有一种绑定类型,可以在“when”条件变为true时为某个属性赋值。我需要类似的东西,但不是将“值”设置为“属性”,我想执行一些任意的操作。

谢谢。

+1

通过提供您所尝试的内容帮助完善您的问题。为了定制答案,我们需要一些您想要解决的问题的更多细节。 –

回答

3

还有,做一个第三方库:benlau's QuickPromise

你可以用这种方式:

import QuickPromise 1.0 
//... 
Promise { 
    resolveWhen: someExpression 
    onFulfilled: arbitraryAction() 
} 
4

换句话说,这样的事情?

QtObject { 
    readonly property bool foobar: someExpression 
    onFoobarChanged: { 
     if (foobar) { ... } 
    } 
} 
0

这将是更好地使用Connections类型:

Connections { 
    target: conditionKeeper 
    onConditionChanged: console.log("Processing...") 
} 

您可以将您的逻辑保存在任何QObject中,即使在C++中也是如此。一旦你的条件成立,你的代码将被执行。它可以在没有任何依赖关系的情况下使用。