Book Image

Hands-On GUI Programming with C++ and Qt5

By : Lee Zhi Eng
Book Image

Hands-On GUI Programming with C++ and Qt5

By: Lee Zhi Eng

Overview of this book

Qt 5, the latest version of Qt, enables you to develop applications with complex user interfaces for multiple targets. It provides you with faster and smarter ways to create modern UIs and applications for multiple platforms. This book will teach you to design and build graphical user interfaces that are functional, appealing, and user-friendly. In the initial part of the book, you will learn what Qt 5 is and what you can do with it. You will explore the Qt Designer, discover the different types of widgets generally used in Qt 5, and then connect your application to the database to perform dynamic operations. Next, you will be introduced to Qt 5 chart which allows you to easily render different types of graphs and charts and incorporate List View Widgets in your application. You will also work with various Qt modules, like QtLocation, QtWebEngine, and the networking module through the course of the book. Finally, we will focus on cross-platform development with QT 5 that enables you to code once and run it everywhere, including mobile platforms. By the end of this book, you will have successfully learned about high-end GUI applications and will be capable of building many more powerful, cross-platform applications.
Table of Contents (18 chapters)

Geo Routing Request

There is another important feature called Geo Routing Request, which is a set of functions that help you plot out the route (often the shortest route) from point A to point B. This feature requires a service provider; in this case, we will be using Open Street Map (OSM) as it is completely free.

Do note that OSM is an online collaborative project, which means that if no one from your area contributed the route data to the OSM server, then you won't be able to get an accurate result. Optionally, you can also use paid services such as Mapbox or ESRI.

Let's see how we can implement Geo Routing Request in Qt! First, include the following headers to our mainwindow.h file:

#include <QGeoServiceProvider>
#include <QGeoRoutingManager>
#include <QGeoRouteRequest>
#include <QGeoRouteReply>

After that, add two slot functions to MainWindow...