我正在尝试将QList
整数从 QML 传递到 C++ 代码,但不知何故我的方法不起作用。使用以下方法会出现以下错误:
left of '->setParentItem' must point to class/struct/union/generic type
type is 'int *'
高度赞赏解决问题的任何输入
下面是我的代码片段
头文件
Q_PROPERTY(QDeclarativeListProperty<int> enableKey READ enableKey)
QDeclarativeListProperty<int> enableKey(); //function declaration
QList<int> m_enableKeys;
.cpp 文件
QDeclarativeListProperty<int> KeyboardContainer::enableKey()
{
return QDeclarativeListProperty<int>(this, 0, &KeyboardContainer::append_list);
}
void KeyboardContainer::append_list(QDeclarativeListProperty<int> *list, int *key)
{
int *ptrKey = qobject_cast<int *>(list->object);
if (ptrKey) {
key->setParentItem(ptrKey);
ptrKey->m_enableKeys.append(key);
}
}