Book Image

Cross-Platform Development with Qt 6 and Modern C++

By : Nibedit Dey
Book Image

Cross-Platform Development with Qt 6 and Modern C++

By: Nibedit Dey

Overview of this book

Qt is a cross-platform application development framework widely used for developing applications that can run on a wide range of hardware platforms with little to no change in the underlying codebase. If you have basic knowledge of C++ and want to build desktop or mobile applications with a modern graphical user interface (GUI), Qt is the right choice for you. Cross-Platform Development with Qt 6 and Modern C++ helps you understand why Qt is one of the favorite GUI frameworks adopted by industries worldwide, covering the essentials of programming GUI apps across a multitude of platforms using the standard C++17 and Qt 6 features. Starting with the fundamentals of the Qt framework, including the features offered by Qt Creator, this practical guide will show you how to create classic user interfaces using Qt Widgets and touch-friendly user interfaces using Qt Quick. As you advance, you'll explore the Qt Creator IDE for developing applications for multiple desktops as well as for embedded and mobile platforms. You will also learn advanced concepts about signals and slots. Finally, the book takes you through debugging and testing your app with Qt Creator IDE. By the end of this book, you'll be able to build cross-platform applications with a modern GUI along with the speed and power of native apps.
Table of Contents (17 chapters)
1
Section 1: The Basics
6
Section 2: Cross-Platform Development
8
Section 3: Advanced Programming, Debugging, and Deployment

Drag and drop

In this section, we will learn about drag and drop (DnD). In a GUI application, DnD is a pointing device gesture in which the user selects a virtual object by grabbing it and then releasing it on another virtual object. The drag and drop operation starts when the user makes some gesture that is recognized as a signal to start a drag action.

Let's discuss how we can implement drag and drop using Qt Widgets.

Drag and drop in Qt Widgets

In Qt Widgets-based GUI applications, where drag and drop is used, the user starts dragging from a particular widget and drops the dragged object onto another widget. This requires us to reimplement several functions and it handles the corresponding events. The most common functions that need to be reimplemented to achieve drag and drop are as follows:

void dragEnterEvent(QDragEnterEvent *event) override;
void dragMoveEvent(QDragMoveEvent *event) override;
void dropEvent(QDropEvent *event) override;
void mousePressEvent(QMouseEvent...