Qt Reference Documentation

# QML Binding Element

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

This element was introduced in Qt 4.7.

- List of all members, including inherited members

## Properties

- property : string
- target : Object
- value : any
- when : bool

## 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
     }