Welcome to the repository for the course "Qt Quick Controls Overview" on Qt Academy.
Get the full learning experience by enrolling in the course on Qt Academy
You can also find the course playlist on the Qt YouTube channel
-
Working with button controls including all QAbstractButton sub-types like Button, CheckBox, RadioButton, and more.
-
Using input controls such as TextField, TextArea, Slider, Dial, and SpinBox for gathering user data.
-
Implementing indicator controls like ProgressBar and BusyIndicator to display application state.
-
Creating popups and dialogs including Popup, Dialog, Menu, and ToolTip for modal and overlay interfaces.
-
Organizing content with containers using StackView, SwipeView, TabBar, and other container types.
-
Customizing controls to match your application's visual design and branding requirements.
⭐ Skill Level: Beginner
⏱️ Time to Complete: 2 hours
In this course, you will learn how to build interactive user interfaces using Qt Quick Controls. You'll explore the full range of pre-built controls available in Qt Quick Controls, from basic buttons and inputs to complex containers and popups. By the end of this course, you'll be able to create polished, professional user interfaces with minimal code.
The repository contains reference projects for each video section:
| Folder | Description |
|---|---|
QtQuickControls_Section2 |
QAbstractButton sub-types (Button, CheckBox, RadioButton, etc.) |
QtQuickControls_Section3 |
Input controls (TextField, Slider, Dial, SpinBox, etc.) |
QtQuickControls_Section4 |
Indicator controls (ProgressBar, BusyIndicator, etc.) |
QtQuickControls_Section5 |
Popup and its sub-types (Dialog, Menu, ToolTip, etc.) |
QtQuickControls_Section6_1 |
Container sub-types (StackView, SwipeView, TabBar, etc.) |
QtQuickControls_Section6_2 |
Pane and its sub-types (Frame, GroupBox, ScrollView, etc.) |
QtQuickControls_Section7 |
Common ways to customize Control sub-types |
QtQuickControls_Section8 |
Complete application demonstrating Qt Quick Controls |
Note: The projects are not required to complete the course, but are provided as a reference to help you understand the concepts discussed.
Before getting started, you should be familiar with Qt Quick fundamentals. Consider first exploring the full Creating Qt Quick User Interfaces learning path on Qt Academy, which provides the foundational knowledge needed to get the most from this course.
To get started with this project, you will need to have Qt (6.8 or later) and an IDE (e.g., Qt Creator) installed on your computer. You can download Qt and Qt Creator from the Qt.io website.
Once you have Qt and an IDE installed, head over to Qt Academy and follow along with the course videos.
To run any project in Qt Creator:
- Navigate to the project folder
- Open the
CMakeLists.txtfile - Build and run the project
The application will launch and display a window demonstrating the Qt Quick Controls concepts covered in each section.
If you need additional help, the following resources may be helpful:
- Qt Documentation - Qt Quick Controls: https://doc.qt.io/qt-6/qtquickcontrols-index.html
- Qt Documentation - Qt Quick Controls Guidelines: https://doc.qt.io/qt-6/qtquickcontrols-guidelines.html
- Qt Forum: https://forum.qt.io
- Qt Academy: https://qt.io/academy
Copyright (C) 2026 Qt Group.
SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
This course demonstrates how to create interactive user interfaces using Qt Quick Controls in a Qt-based application.
If you, your employer, or the legal entity you act on behalf of hold commercial license(s) with a Qt Group entity, this software package constitutes Pre-Release Code under the Qt License/Frame Agreement governing those licenses, and that agreement's terms and conditions govern your access and use of this software package.
This software package may provide links or access to third party libraries or code (collectively "Third-Party Software") to implement various functions. Use or distribution of Third-Party Software is discretionary and in all respects subject to applicable license terms of applicable third-party right holders.