0
假設我有一個簡單的QML插件。定期檢查我的對象的一些狀態,在這一步,我想查詢從C++的QML對象,以這樣的方式從C++插件調用QML中的JS函數
插件代碼(C++)
class MyItem : public QQuickItem
{
public:
MyItem(QQuickItem *parent = 0) :
QQuickItem(parent)
{}
void timerFunction(SomeObject * obj)
{
// here I need to call QML function to validate my object, may be in this way:
callJSFunction("myFunction",obj); // that's what I need
if(obj->approved) doSomething();
}
}
QML文件:
MyItem {
id: myItem
property bool someProperty
function myFunction(obj)
{
obj.approved = someProperty;
}
}
因爲調用JS必須以同步方式進行,所以我不能使用信號。我的意思是我需要的是:
-
在C
- ++代碼計時器調用與對象的功能timerFunction()來驗證
- 內timerFunction()我調用JS功能,並得到結果返回
- 它後,我繼續執行timerFunction()
所以我的問題 - 有沒有辦法從C++插件對象調用JS函數?
謝謝@tmcguire!我一直認爲信號是異步的。如果我錯了,那麼我的問題就解決了。 – folibis