Can you implement lazy array access in QtScript?

355 Views Asked by At

Is it possible to implement a QObject for use in QtScript which overloads [] to implement lazy array population?

I want to implement something like this:

var bar = foo["bar"];

and have the value be lazily calculated in C++ code. Is this possible?

2

There are 2 best solutions below

0
On BEST ANSWER

Yes. bar will be available as a property in the QScriptValue object which represents foo.

If you want the calculation to happen automatically, you possibly have to subclass QScriptClass and re-implement the property() accessor function.

0
On

Have you tried to implement operator[] in the QObject that you expose to QtScript? Easier to answer if you also include some code.