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