views:

117

answers:

2

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?

A: 

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

Henrik Hartz
+1  A: 

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.

BastiBense