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