Book Image

Application Development with Qt Creator - Third Edition

By : Lee Zhi Eng, Ray Rischpater
Book Image

Application Development with Qt Creator - Third Edition

By: Lee Zhi Eng, Ray Rischpater

Overview of this book

Qt is a powerful development framework that serves as a complete toolset for building cross-platform applications, helping you reduce development time and improve productivity. Completely revised and updated to cover C++17 and the latest developments in Qt 5.12, this comprehensive guide is the third edition of Application Development with Qt Creator. You'll start by designing a user interface using Qt Designer and learn how to instantiate custom messages, forms, and dialogues. You'll then understand Qt's support for multithreading, a key tool for making applications responsive, and the use of Qt's Model-View-Controller (MVC) to display data and content. As you advance, you'll learn to draw images on screen using Graphics View Framework and create custom widgets that interoperate with Qt Widgets. This Qt programming book takes you through Qt Creator's latest features, such as Qt Quick Controls 2, enhanced CMake support, a new graphical editor for SCXML, and a model editor. You'll even work with multimedia and sensors using Qt Quick, and finally develop applications for mobile, IoT, and embedded devices using Qt Creator. By the end of this Qt book, you'll be able to create your own cross-platform applications from scratch using Qt Creator and the C++ programming language.
Table of Contents (19 chapters)
1
Section 1: The Basics
7
Section 2: Advanced Features
12
Section 3: Practical Matters

What this book covers

Chapter 1, Getting Started with Qt Creator, covers everything you need in order to get started downloading Qt Creator for Linux, macOS X, and Windows. We will also see how to ensure that your basic configuration is running and take a quick look at a simple QtGui application as well as a Qt Quick application.

Chapter 2, Building Applications with Qt Creator, explains how to add files to a project, how to create libraries in a project, and how to use the debugger and the console logger.

Chapter 3, Designing Your Application with Qt Designer, covers Qt's notion of signals and slots, explaining how to create user interfaces with Qt Designer. We will also see how to instantiate forms, messages, and dialogs.

Chapter 4, Qt Foundations, discusses some of Qt's core classes that you will find especially handy while writing your applications. We will begin with useful data classes and look at Qt's support for multithreading, a key tool in ensuring applications feel responsive. We will look at file and HTTP I/O, an important component in many applications. We will also learn how to use Qt's XML parser to create networked applications and to load XML data from the filesystem.

Chapter 5, Developing Applications with Qt Widgets, introduces GUI programming using Qt Widgets. You will learn basic application management, how to create dialogs and error popups, and other major GUI elements. We will also have a look at Qt's flexible layout system, the Model-View-Controller paradigm, and how to use it in Qt for complex controls such as lists and tree views. We will also have a quick look at Qt's support for WebKit.

Chapter 6, Drawing with Qt, explains how to do a general drawing in Qt. We will implement concrete examples of offscreen drawings for bitmaps, as well as creating custom widgets that interoperate with Qt Widgets. We will also discuss a newer and lower level of abstraction that Qt provides for graphics management – the graphics view/graphics scene architecture.

Chapter 7, Doing More with Qt Quick, looks at Qt Quick in more detail. We will look at fundamental Qt Quick constructs to display shapes, images, and text, as well as how to manage user events. You will also be introduced to the Qt Quick Transition Framework and New Graphical Editor for SCXML. You will also learn how to integrate C++ with Qt Quick.

Chapter 8, Implementing Multimedia with Qt Quick, examines Qt Quick's support for multimedia. We will look at various QT Quick components that provide access to audio and video playbacks, and how to access the camera.

Chapter 9, Sensors and Qt Quick, looks at Qt's sensor and positioning frameworks as they're supported in QML. You will learn how to determine a device's position on the surface of the earth and how to measure the other characteristics of its environment, as reported by its onboard sensors.

Chapter 10, Localizing Your Application with Qt Linguist, explains the task of localization and discusses various tools that QT provides for localization.

Chapter 11, Optimizing Performance with Qt Creator, covers how to perform the runtime profiling of QML applications using the QML performance analyzer and explains how to read the reports it generates.

Chapter 12, Developing Mobile Applications with Qt Creator, explains how to write a mobile application and how Qt offers better support for iOS and Android applications.

Chapter 13, Embedded and IoT development with QT Creator, describes how to create optimized Qt applications specifically designed for embedded devices.

Chapter 14, Qt Tips and Tricks, introduces a collection of tips and tricks that you should be familiar with when using Qt Creator and Qt.