Sto provando a passare QList
del numero intero da codice QML a C++, ma in qualche modo il mio approccio non funziona. Con avvicinamento al di sotto che ottiene seguente errore:Come passare QList da QML a C++/Qt?
left of '->setParentItem' must point to class/struct/union/generic type
type is 'int *'
Eventuali ingressi a disturbare il tiro il problema è molto apprezzato
Qui di seguito è il mio frammento di codice
file di intestazione
Q_PROPERTY(QDeclarativeListProperty<int> enableKey READ enableKey)
QDeclarativeListProperty<int> enableKey(); //function declaration
QList<int> m_enableKeys;
file 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);
}
}
'' setParentItem' e m_enableKeys' non sono membri di 'int', ma si tenta di richiamare su di loro chiave e ptrKey che sono entrambi int * in modo che non funzionerà mai .. – stijn
ricordare che' QDeclarativeListProperty'/'QQmlListProperty' è utile solo per fornire un elenco di elementi secondari di sola lettura che sono derivati da QObject e che l'elenco non può essere modificato dopo il tempo di installazione. – TheBootroo