Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

Interfaces between C++ and QML Code in Qt Positioning

Describes the methods used to exchange position data between C++ and QML code.

Overview

Qt Positioning utilizes two methods to simplify exchange of position data between C++ and QML code.

Direct mapping

Qt Positioning allow you to pass the following value types from QML to C++, and vice versa:

QVariant Based integration

This section provides information on how to integrate QGeoAddress and QGeoLocation .

Address - QGeoAddress

The Address.address property is used to provide an interface between C++ and QML code. First a pointer to an Address object must be obtained from C++, then the property() and setProperty() functions must be used to get and set the address property.

The following piece of code gets the QGeoAddress object from C++:

geoAddress = qmlObject.property("address").value<QGeoAddress>()

The following piece of code sets the address property of the QML object based on a QGeoAddress object from C++:

qmlObject.setProperty("address", QVariant.fromValue(geoAddress))

Location - QGeoLocation

The Location.location property is used to provide an interface between C++ and QML code. First a pointer to a Location object must be obtained from C++, then the property() and setProperty() functions must be used to get and set the location property.

The following piece of code gets the QGeoLocation object from C++:

geoLocation = qmlObject.property("location").value<QGeoLocation>()

The following piece of code sets the location property of the QML object based on a QGeoLocation object from C++:

qmlObject.setProperty("location", QVariant.fromValue(geoLocation))