What you'll learn:
- The fundamentals of working with Qt to build C++ Gui Applications
- Working with Qt Widget Classes
- Working with Dialog Classes
- Using the Qt Resource System
- Styling Qt Applications
- Working with Networks to fetch HTTP Data
- Working with the File System
- Model View Architecture
Welcome to Qt 6 C++ GUI Development for Beginners.
Qt is a cross platform application development framework. It can be used to build Graphical User interfaces that can run on Windows, Mac Linux , mobile platforms like android and ios, even embedded devices.
This course will focus on using Qt Widgets to build robust cross platform desktop applications capable of running well on major desktop Operating Systems like Windows , Mac and Linux.
While Qt Widgets can technically run both on mobile and embedded, it's better and less painful to use QML, another technology provided by the Qt framework. If you want to target mobile and embedded, then please check our courses on QML and Qt Quick. This course doesn't QML , Mobile or embedded!
The course assumes no prior knowledge of Graphical User Interface Development and even provides a C++ refresher crash course for those in need of a helping hand to get up and running with C++ within the Qt environment. By the time you are done with the course, you'll not only be armed with knowledge you could use to build basic to intermediate Graphical user interfaces, but you will also have enough momentum to use the documentation to even learn more on your own. As with my other courses, I use every chance I get to show you how to use the documentation to find solutions on your own and faster.
Let's take a look at the content of the course.
We start with a complete beginner to both C++ and Qt in mind, and we take you through the the process of getting your environment set up on your platform of choice :
We do a live install of Qt Creator on Windows
We do a live install of Qt Creator on Linux
We guide you though how you would install Qt Creator on a Mac
We then take you on a tour of the C++ programming language, covering the concepts deemed important to start working with Qt to build your shinny GUI applications. You don't need to be a C++ wizard to start writing your applications using Qt. One of the goals behind Qt itself is to be as easy to use as possible, helping you to focus on your application logic rather than the C++ complex plumbing. This does not mean that you can do with zero C++ knowledge though. That's why we take you on a tour to cover the basic concepts of the language covering topicslike:
Running your first console application and understanding the main function
Streams that help you write and read data from your C++ applications
Variables and DataTypes
Basic C++ Operators and Control flow where among other things you learn about if clauses and loops
Build an app to guess numbers and put together the concepts learned so far
C++ Functions
C++ classes
Building your first Qt C++ GUIApplication
Building a GUI Version of your Number guessing game
We then visit the fascinating concept signals and slots in Qt where you learn the most flexible way to respond to events :
We'll explore lambda functions in C++ in general, we'll need them to use their SIGNAL SLOT syntax
We explore different ways to connect signals to slots in Qt
We then do a concept enforcing demo for you to try them out
Next we dive in the Qt Widgets section and visit some of the most important widget classes in Qt :
QWidget
QMainWindow
QMessageBox
QPushButton
QLineEdit
QTextEdit
QLabel
QHBoxLayout, QVBoxLayout, QGridLayout
We visit size policies and stretches and how they help tie the knots in your layouts
QCheckBox and QRadioButton
QList
QComboBox
QListWidget
QTabWidget
QMenu, QToolBar, QAction
Dialogs are explored next , we look at QDialog and how to build your own custom dialog class from scratch , QDialogButtonBox, QMessageBox, QFontDialog, QFileDialog, QInputDialog and how they add a layer of interactivity to your Qt GUI applications.
We then go on and explore how to work with the Qt Resource System , Styling your Qt applications with QStyle, QPalette and Style Sheets, Saving your application settings with QSetting, Working with Files and Directories using QFile and QDir, working with the network capabilities of Qt where we :
See the different classes that are available to work with networks in Qt
Build an application to download web pages in our Qt Applications
Build an application to consume Rest APIs in your Qt Applications
and we wrap up the course looking at the Model View Architecture of the Qt framework where we learn about classes like
QListWidget
QTableWidget
QTreeWidget
QListView
QTableView
QTreeView
QStandardItemModel
QAbstractItemTableModel
QAbstractItemListModel
QStringListModel
and much more!
Qt has quite a huge user base and there are thousands of projects using both open source and commercial, including the one I am using to record this video right now. If you want to build cross platform graphical user interface applications using C++, this course is designed with the skill, patience and depth, needed to get you there as effisciently as possible. Please check out some of the preview videos and let's get you started building cross platform GUI applications using C++ and Qt 6.