На стороне C ++ у меня был этот метод:
class MyClass : public QObject
{
Q_OBJECT
Q_INVOKABLE QVariant getFamily_byParentName(QString &parentName) const;
// ...
}
Я вызывал метод C ++ для QML:
onButtonClicked: {
myClass.getFamily_byParentName(items3D.model[0]) // items3D.model[0] is a string
}
Приведенный выше код генерировал эту ошибку в строке QMLmyClass.getFamily_byParentName(items3D.model[0])
:
Ошибка: неизвестный тип параметра метода: QString &
Решение
Приведенная выше ошибка была устранена путем объявления QString
аргумент как const
:
Q_INVOKABLE QVariant getFamily_byParentName(const QString &parentName) const;
Вопрос: почему?