Implementing area monitoring in Qt
(Created page with '__NOTOC__ __NOEDITSECTION__ {{CodeSnippet |id= |platform=S60 5th Edition, Maemo 5 |devices=Nokia 5800 XpressMusic |category=Qt |subcategory=Qt Mobility |creationdate=May 24, 2010…') |
somnathbanik
(Talk | contribs) |
||
| Line 1: | Line 1: | ||
| + | [[Category:Qt]][[Category:Qt Mobility]] | ||
__NOTOC__ | __NOTOC__ | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
| Line 13: | Line 14: | ||
==Overview== | ==Overview== | ||
| − | This code snippet demonstrates how to implement area monitoring in Qt using the Location module of Qt Mobility. It is assumed here that you have set up Qt Mobility in your development environment and on your device. For more information, see [[Setting up Qt Mobility]]. | + | {{Abstract|This code snippet demonstrates how to implement area monitoring in Qt using the Location module of Qt Mobility.}} It is assumed here that you have set up Qt Mobility in your development environment and on your device. For more information, see [[Setting up Qt Mobility]]. |
==Qt project file== | ==Qt project file== | ||
| Line 19: | Line 20: | ||
Link the Location module into the project: | Link the Location module into the project: | ||
| − | <code> | + | <code cpp> |
CONFIG += mobility | CONFIG += mobility | ||
MOBILITY = location | MOBILITY = location | ||
| Line 26: | Line 27: | ||
Using the Location module requires the Location capability: | Using the Location module requires the Location capability: | ||
| − | <code> | + | <code cpp> |
symbian: { | symbian: { | ||
TARGET.CAPABILITY = Location | TARGET.CAPABILITY = Location | ||
| Line 105: | Line 106: | ||
* http://doc.qt.nokia.com/qtmobility-1.0/location-overview.html | * http://doc.qt.nokia.com/qtmobility-1.0/location-overview.html | ||
| − | + | [[Category:Code Examples]][[Category:Code Snippet]] | |
Revision as of 17:53, 20 May 2011
Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 5th Edition, Maemo 5
Article
Created: (24 May 2010)
Last edited: somnathbanik
(20 May 2011)
Overview
This code snippet demonstrates how to implement area monitoring in Qt using the Location module of Qt Mobility. It is assumed here that you have set up Qt Mobility in your development environment and on your device. For more information, see Setting up Qt Mobility.
Qt project file
Link the Location module into the project:
CONFIG += mobility
MOBILITY = location
Using the Location module requires the Location capability:
symbian: {
TARGET.CAPABILITY = Location
}
Header
#include <qgeoareamonitor.h>
#include <qgeopositioninfo.h>
// QtMobility namespace
QTM_USE_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public slots:
/**
* Called when the current position is in range of the area.
*/
void areaEntered(const QGeoPositionInfo &update);
/**
* Called when the current position moves out of range of the area.
*/
void areaExited(const QGeoPositionInfo &update);
private:
/**
* Initializes the area monitor.
*/
void initAreaMonitor();
}
Source
#include <qgeocoordinate.h>void MainWindow::initAreaMonitor()
{
// Create the area monitor
QGeoAreaMonitor *monitor = QGeoAreaMonitor::createDefaultMonitor(this);
// Connect the area monitoring signals to the corresponding slots
connect(monitor, SIGNAL(areaEntered(QGeoPositionInfo)),
this, SLOT(areaEntered(QGeoPositionInfo)));
connect(monitor, SIGNAL(areaExited(QGeoPositionInfo)),
this, SLOT(areaExited(QGeoPositionInfo)));
qreal latitude = 60.169966;
qreal longitude = 24.952115;
QGeoCoordinate myLocation(latitude, longitude);
monitor->setCenter(myLocation);
monitor->setRadius(100);
}
void MainWindow::areaEntered(const QGeoPositionInfo &update) {
printString("The area has been entered.");
}
void MainWindow::areaExited(const QGeoPositionInfo &update) {
printString("The area has been exited.");
}
Postconditions
A specific area is defined and monitored.

