2017-01-29 26 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++中也是如此。一旦你的條件成立,你的代碼將被執行。它可以在沒有任何依賴關係的情況下使用。