Retrieving satellite information in Qt
Jump to navigation
Jump to search
Overview[edit | edit source]
This code snippet demonstrates how to retrieve satellite info 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[edit | edit source]
Link the Location module into the project:
CONFIG += mobility
MOBILITY = location
Using the Location module requires the Location capability:
symbian: {
TARGET.CAPABILITY = Location
}
Header[edit | edit source]
- include <qgeosatelliteinfo.h>
- include <qgeosatelliteinfosource.h>
// QtMobility namespace
QTM_USE_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public slots:
/**
* Called when the number of satellites in use is updated.
*/
void satellitesInUseUpdated(
const QList<QGeoSatelliteInfo> &satellites);
/**
* Called when the number of satellites in view is updated.
*/
void satellitesInViewUpdated(
const QList<QGeoSatelliteInfo> &satellites);
private:
/**
* Starts to monitor updates in the number of satellites.
*/
void startSatelliteMonitor();
private:
QGeoSatelliteInfoSource* satelliteInfoSource;
}
Source[edit | edit source]
void MainWindow::startSatelliteMonitor()
{
satelliteInfoSource =
QGeoSatelliteInfoSource::createDefaultSource(this);
// Whenever the satellite info source signals that the number of
// satellites in use is updated, the satellitesInUseUpdated function
// is called
QObject::connect(satelliteInfoSource,
SIGNAL(satellitesInUseUpdated(const QList<QGeoSatelliteInfo>&)),
this,
SLOT(satellitesInUseUpdated(const QList<QGeoSatelliteInfo>&)));
// Whenever the satellite info source signals that the number of
// satellites in view is updated, the satellitesInViewUpdated function
// is called
QObject::connect(satelliteInfoSource,
SIGNAL(satellitesInViewUpdated(const QList<QGeoSatelliteInfo>&)),
this,
SLOT(satellitesInViewUpdated(const QList<QGeoSatelliteInfo>&)));
// Start listening for satellite updates
satelliteInfoSource->startUpdates();
}
void MainWindow::satellitesInUseUpdated(
const QList<QGeoSatelliteInfo> &satellites) {
printString("The number of satellites in use is updated.");
}
void MainWindow::satellitesInViewUpdated(
const QList<QGeoSatelliteInfo> &satellites) {
printString("The number of satellites in view is updated");
}
Postconditions[edit | edit source]
Information about satellites in use and in view is retrieved.