Thanks Aaron, it works with property alias. [email protected] wrote: > Hi, > > Bindings are intentionally unidirectional. As a binding can be a complex > expression there is no way for us to automatically reverse it. > > In the specific case you describe you could us a property alias. > > Rectangle { > property alias title: myChild.title > Child { > id: myChild > } > } > > Aliases are not bindings. Instead reading and writing to the title property > of the rectangle is internally translated into reading and writing the title > property of the Child. > > Cheers, > > Aaron > > On 30/06/2010, at 11:01 PM, "ext Cristian Daniel Stamateanu" > <[email protected]> wrote: > >> Ok, here is what I found, it seems that using bindings in QML, values >> are transfered to child components but when changed inside child the >> value is not sent back to the parent: >> >> //Parent.qml >> Rectangle{ >> property string title: "initial value" >> id: root >> >> Child{ >> title: root.title >> } >> } >> >> //Child.qml >> Rectangle{ >> property string title >> id:child >> ... >> //JS script >> { >> child.title = "Child modified value"; >> // I expected this to reflect back in parent or >> // whatever component was bound to it >> } >> ... >> >> } >> >> Is this normal? Is there a workaround >> >> Regards, >> Cristi >> >> Cristian Daniel Stamateanu wrote: >>> Thanks Kent, You were right on both counts. I don't need a QScriptValue >>> and the value is not sent from qml for some reason. I will investigate >>> further. >>> >>> BR. >>> Cristian Stamateanu >>> >>> On Tue, 29 Jun 2010 18:39:36 +0300, Kent Hansen <[email protected]> >>> wrote: >>> >>>> Hi, >>>> >>>> On 29. juni 2010 16:58, ext Cristian Daniel Stamateanu wrote: >>>>> Hello, >>>>> >>>>> I have the following problem : I have a class declaring the following >>>>> slot: >>>>> >>>>> void RssFeedManager::addFeedEx(const QScriptValue& name,const >>>>> QScriptValue& address ) >>>>> { >>>>> bool nameIsString = name.isVariant(); >>>>> QString str = name.toString(); >>>>> ... >>>>> } >>>>> >>>>> and I am calling this slot from QML >>>>> >>>>> This works ok: >>>>> feedManager.addFeedEx( "whatever", addFeedView.address ); >>>>> >>>>> while using a binding to a property declared in addFeedView like >>>>> property string name; >>>>> >>>>> feedManager.addFeedEx( addFeedView.name, addFeedView.address ); >>>>> >>>>> is not working. >>>>> In the c++ side I am getting a string only it is an empty one. >>>>> >>>>> Any thoughts? >>>>> >>>> Have you checked that the name is indeed non-empty on the JS side? >>>> Does it work if you declare the slot as taking a QString argument (why >>>> do want to receive it as a QScriptValue)? >>>> What type is the script value, is it an object? If so, does >>>> QScriptValue::toVariant() return anything? QML has a special "hook" to >>>> allow converting a script value to a variant, but no hook for the >>>> toString case AFAICT. >>>> >>>> Regards, >>>> Kent >>>> _______________________________________________ >>>> Qt-qml mailing list >>>> [email protected] >>>> http://lists.trolltech.com/mailman/listinfo/qt-qml >>> >> _______________________________________________ >> Qt-qml mailing list >> [email protected] >> http://lists.trolltech.com/mailman/listinfo/qt-qml
_______________________________________________ Qt-qml mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-qml
