我想将QML项目引用传递给C++。它可以显式地使用id来工作:
Item {
id: qmlitem
x: CppObj.getValue(qmlitem)
}
// c++
int getValue(QObject * qmlItem) {
return 0;
}
如果我通过了:
Item {
x: CppObj.getValue(this)
}
QObject * qmlItem为0x0。
如果我更换
int getValue(QObject * qmlItem)
通过
int getValue(void * qmlItem)
qmlItem不是0x0-它有一个值,但是是哪种类型?是否可以从中获取QObject *?
最佳答案
在QML中,this
的值为currently undefined。将其传递给C++不会产生任何有意义的结果。无论其内容是什么,它都不是对当前QML项的引用。因此,请遵循您的第一个解决方案并传递ID。
关于c++ - C++中QML的类型是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48706985/