Экспонировать operator []
Как при экспонировании объекта из c++ в js предоставить доступ к члену operator []
?
Т.е. хочется, чтобы объект выглядел в js как массив.
Для встраивания JS использую движок QJSEngine.
Пытаюсь:
struct TablePrototype
{
Q_GADGET
Q_PROPERTY(int rows READ getRowCount) // ok
Q_PROPERTY(int columns READ getColumnCount)
int getRowCount() const;
int getColumnCount() const;
Q_INVOKABLE QVariant operator [] ( int index ) const; // не работает.
}
Ошибок компиляции не получаю, но в run-time: TypeError: Cannot read property '0' of undefined
. Т.е. Нужет метод с каким-то специальным именем?
Источник: Stack Overflow на русском