Qt Reference Documentation

Contents

QML Binding Element

The Binding element allows arbitrary property bindings to be created. More...

Properties

Detailed Description

Sometimes it is necessary to bind to a property of an object that wasn't directly instantiated by QML - generally a property of a class exported to QML by C++. In these cases, regular property binding doesn't work. Binding allows you to bind any value to any property.

For example, imagine a C++ application that maps an "app.enteredText" property into QML. You could use Binding to update the enteredText property like this.

 TextEdit { id: myTextField; text: "Please type here..." }
 Binding { target: app; property: "enteredText"; value: myTextField.text }

Whenever the text in the TextEdit is updated, the C++ property will be updated also.

If the binding target or binding property is changed, the bound value is immediately pushed onto the new target.

See also QtDeclarative.

Property Documentation

property : string

The property to be updated.


target : Object

The object to be updated.


value : any

The value to be set on the target object and property. This can be a constant (which isn't very useful), or a bound expression.


when : bool

This property holds when the binding is active. This should be set to an expression that evaluates to true when you want the binding to be active.

 Binding {
     target: contactName; property: 'text'
     value: name; when: list.ListView.isCurrentItem
 }