C ++中QML的类型是什么?

时间:2018-02-09 13:28:40

标签: c++ qml

我想将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 *?

1 个答案:

答案 0 :(得分:3)

在QML中,this的值为currently undefined。将它传递给C ++不会产生任何有意义的结果。无论其内容是什么,它都不是对当前QML项目的引用。因此,请坚持使用您的第一个解决方案并传递ID。