On Mon, May 16, 2011 at 10:58 PM, Alan Ezust <[email protected]> wrote:
>  in QML 1.x, you can set
> objectName: "someObjectName"
>   on any QML Item and then use
> QObject::findChild<QDeclarativeItem*>("someObjectName")
>   to find it.

This approach breaks when lists of objects are created from a template
declaration, e.g. in Repeater.

Given that Qt people insist on the API/ABI compatibility argument (and
that's indeed a very strong and understandable one!), what people are
really begging for IMO is a simple API for accessing QObjects inside a
QtDeclarative object tree. Something like

> qmlContext.get("someObjectName")["width"] = 100;

This should be doable efficiently with very little template magic,
where "efficiently" means "effectively no overhead over the explicit
code":

> QObject* obj = 
> qmlContext.rootObject()->findChild<QWhatEver*>("someObjectName");
> obj->setProperty("width", qVariantFromValue<int>(100));

Plus it would be a strong motivation for the bindings developers to do
something similar in the bindings, like in Python:

> qmlContext.someObjectName.width = 100

Greetings
Stefan

P.S. The fine print: Dunno if QDecl.Context is the right place for
this. Also don't count on the correctness of every single word of
code; it's too late here.
_______________________________________________
Qt5-feedback mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback

Reply via email to