All Overviews

Overviews

Introduction to Qt

Programming Languages

You can develop Qt applications using one or a combination of the following languages:

Qt Languages

  • C++
  • QML
  • Python
  • JavaScript

QML and C++

Platforms

Develop Qt applications on macOS, Linux, and Windows desktop platforms. Qt is platform-independent, which means you can compile same code base for other target platforms.

Basics

Learn the Qt basics that define the foundation of Qt.

UI

Use the Qt Quick and Qt Widget UI technology. Qt Quick interfaces are fluid, dynamic, and are best on touch interfaces. Qt Widgets are for creating complex desktop applications. You can create Qt Quick and Qt Widgets interfaces with the target platform's native look and feel.

Graphics and Multimedia

Display graphical elements and handle multimedia content. Qt abstracts the target platforms' underlying graphics APIs so that you can focus on writing the application code. Play back audio and video files and render them on screen, as well as record audio and video from the system's cameras and microphones.

Data processing and I/O

Retrieve and store data in different formats.

Networking and Connectivity

Develop applications that communicate with Web services and exchange data (JSON or CBOR) with applications on other devices.

In addition, Qt applications can use remote objects or gRPC and protobuf to communicate with service endpoints.

Web Technologies

Embed content from the World Wide Web into your Qt applications on platforms that do not have a native web engine.

Alternatively, you can create a web channel for peer-to-peer communication between a server and a client.

Tools

Qt installations contain Qt libraries, examples, documentation, and the necessary development tools, such as the Qt Creator integrated development environment (IDE) and Qt Design Studio for developing Qt Quick Applications.

Accessibility

Write accessible software by letting users scale the UI, change font size and color contrast, use the keyboard for navigation, have UI text read aloud with a synthesized voice, and change the UI language.

Positioning

Best Practices

These pages give guidance on how to use Qt technologies best to create applications that excel in usability and software design.

Best Practices for QML and Qt Quick

Lists best practices for working with QML and Qt Quick

Calling Qt Functions From Unix Signal Handlers

You can't. But don't despair, there is a way...

Coordinate System

Information about the coordinate system used by the paint system

Creating Shared Libraries

How to create shared libraries.

Creating and Using Components for Qt Widgets Designer

How to create and use custom widget plugins

Desktop Integration

Integrating with the user's desktop environment.

Exception Safety

A guide to exception safety in Qt.

How to Create Qt Plugins

A guide to creating plugins to extend Qt's applications and functionalities.

Qt Test Tutorial

A short introduction to testing with Qt Test

Restoring a Window's Geometry

How to save and restore window geometry.

Session Management

How to do session management with Qt.

Setting the Application Icon

How to set your application's icon.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.