
This video introduces an overview of the entire course.
How to install Qt on my PC?
Download installer for your operating system
Configure the installer and install Qt
Verify the installation is successful
How to create a Qt/C++ project in Qt Creator?
Launch Qt Creator
Create a new Qt console application project
Verify it with the hello world output
How does the Qt’s QObject memory management work?
Create two QObject derived classes
Initialize these calsses with one as the parent of the other
Check how the destructor is called
How to add support for command-line options to make an application run-time configurable?
Add command-line parser to the Qt application
Add supported command-line options to the parser
Verify the parser works as expected
Using Qt’s macros and QSysInfo APIs to developcross-platform application easily.
Use macros for the compile-time code
Use QSysInfo APIs at run-time
Change the qmake project file if necessary
What is thread and what is process? What’s the difference between them?
Learn what thread is
Learn what process is
Compare the two and find the differences
How do I make my applications multi-threaded?
Make a worker classon
Move heavy lifting work into the worker class
Move workers into a different thread
How to make use of multiprocessing in Qt?
Create a QProcess object
Setup the program and arguments
Interact with the process with standard input and output
What is network programming? What the relationship among TCP, UDP, and HTTP?
Learn what a socket is
Learn what TCP and UDP are
Learn what HTTP is
How to make HTTP connection and how to download files from a remote server?
Use the QNetworkAccessManager class to manage requests and replies
Use the GET method to access the Internet
Test file downloading
How can I write a TCP server or client with the Qt network module?
Get to know QTcpSocket and write a TCP client
Get to know QTcpServer and write a TCP server
Verify the client and server
How to design the application user interface in Qt creator?
Create a new Qt Widgets Application project
Add/Remove widgets in the Qt Creator Design mode
Arrange and edit widgets in the Qt Creator Design mode
What is a signal? What is a slot? How do they work?
Learn what signals are
Learn what slots are
Learn how to define signals and (or) slots
How to create different kinds of windows in Qt?
Learn what QMainWindow is
Learn what QDialog is
Make a popup in the hands-on practices
What common display widgets does Qt have and how to use them?
Learn different text display widgets
Learn how to display images
Learn how to use the progress bar
How to get the input from the user in different widgets and make use of them with signals and slots mechanism?
Provide options with the combo box
Provide text edit for input
Show results in a text browser
We focus on different layouts that Qt provides and experiment them in real-life scenarios and also their importance in managing or positioning and resizing widgets.
View a brief description about standard layout managers
Understand QGridLayout
Understand QFormLayout
What is a tab and how can you create tabs and use them in Qt?
Get to know QTabWidget
Create a tabbed window in theDesign mode
Manipulate the tab widget programmatically
What are models and views? How is it architected in Qt?
Learn what a model is
Learn what a view is
Learn what built-in models and views Qt have provided
How do I display my data in a table in the model/view architecture?
Access data using QSqlTableModel
Access data in the model from QTableView
Test the results
How do I display my data in a list in the model/view architecture?
Construct QStringListModel
Access data in QStringListModel from QListView
Access data in QSqlTableModel from QListView
What is Qt Quick and what is QML?
Learn what QML is
Learn what Qt Quick is
Learn the difference between Qt Quick and Qt Widgets
How to create and design Qt Quick Applications in Qt Creator?
Create a Qt Quick Controls 2 Application project
Design the UI in QML editor
Design the UI in Qt Quick Designer
How does a Qt Quick application start? What is dynamic property binding in QML and how it works?
Learn how the C++ launcher works
Learn what the Qt resource system is
Learn how the dynamic property binding in QML works
How to write QML code? What is the syntax of QML?
Learn what import statements are
Learn how to declare objects
Learn QML object types
What is QML module and how to create one?
Learn what a QML module is
Create a QML module through QML documents
Use the custom QML module
How to use JavaScript in QML?
Learn how JavaScript works in QML
Learn where you can write JavaScript in QML
Learn how to import JavaScript resources
What are the common input/output widgets in Qt Quick and how do I use them?
Learn what Qt Quick Controls provide
Learn how to use the output controls
Learn how to use the input controls
How to organize items with layouts in QML?
Learn what layouts Qt Quick provides
Learn how to use ColumnLayout and RowLayout
Learn how to use GridLayout
How to change the style of Qt Quick Controls 2 application? How to add animations to Qt Quick application?
Learn how to style the Qt Quick Controls 2 application
Learn how to add different states
Learn how to add animated transition
How to scale up an item in Qt Quick with animation?
Learn how to change the scale
Learn how to use PropertyAnimation for scale transform
Learn how to use ScaleAnimator
This video will give you an overview about the course.
This video will walk you through the console applications.
Get to know about Qt console apps
Get to know about robust Qt file manipulation
Get to know about Qt message debugging
This video will walk you through the event loop applications.
Get to know about types of programming concurrency
Get to know about functor-based signal/slot connections
Get to know about GUI-Less event loop example
This video will walk you through the process of supercomputing with networks.
Get to know about super-computing architecture
Learn about the networking in Qt
Get to know about the complete implementation
The aim of this video will give you an overview about Sorting.
Get to know about Qt Model/View
Sorting by proxy model using QSortProxyFilterModel
Programmatic sorting implementing our own item type
The aim of this video will give you an overview about Filtering.
Get to know about Qt Model/View
Understand about the problem statement as its needed to establish sorting
Filter by proxy model using QSortProxyFilterModel
The aim of this video will give you an overview about Custom Models.
Get to know the importance of creating a custom model
Get to know about model/data relationship by choosing the model subclass
Implement custom list model subclass QAbstractListModel
The aim of this video will give you an overview about Tree View/Model.
Learn to use QModelIndex for tree structures
Map tree models to real data
Implement custom tree model with subclass QAbstractListModel
In this video get an overview of Qt WebEngine.
Get to know about Mobile vs Desktop in Qt
Go through the WebEngine architecture and widgets
Understand the implementations
This video will give you an overview of Qt WebEngine widgets.
Widgets API review
Build a web browser
Go through the custom browser ideas
This video will give you an overview of Qt WebChannel.
Understand the working of QWebChannel
Get to know about C++ QWebChannel API
Get to know about JavaScript QWebChannel API
In this video will walk you through the process of capturing multimedia.
Capture images
Capture videos
Capture configuration
This video will give you an overview of multimedia playback.
How to play videos
Learn to use playlists
Get to know about advanced video playback
In this video will walk you through the process of interaction with OpenCV.
Link/Include OpenCV
Use cascade classifiers for facial detection
Draw images
This video will give you an overview about Qt3D.
Learn about Qt3D Framegraph
Learn about Entity- Component-System
Learn about QML signals to C++ slots
In this video will walk you an overview of interaction of Qt with QML from C++.
Publish C++ Model to QML
Create a QML View for our Model
Access Model Data from the View
This video will give you an overview about signals and slots.
Learn about C++ Signals to QML Slots
Learn about QML Signals to QML Slots
Learn about QML Signals to C++ Slots
In this video will walk you through the process of interaction with OpenCV.
Create QML Types
Create QML Modules
Get to know about QML Modules/Types from C++
This video will give you an overview of Charts.
Learn about Static G raphing Resources
Learn about Dynamic Line Graphs
Learn about Dynamic Scatter Graphs
This video will walk you through the Animations and Visual Transformations.
Learn about Common Animations/Transformations
Demo Sequential Animations
Demo Rotational Transformations
This video will walk you through the Graphical Effects and Particles.
Learn about available Graphical Effects
Use Gradients
Craft Particles
This video will give you an overview of 3D in Qt Quick.
Create 3D Windows
Setup Rendering Pipeline
Rotate Sphere Demo
In this video get to know how to package Qt applications on Windows.
Learn how to build for release
Create a Windows installer
Install/Uninstall your package
In this video get to know how to package Qt applications on GNU/Linux.
Learn about Linux QMake scopes
Learn about Debian packaging
Install/Uninstall your package
This video will walk you through the process of building static linking Qt.
Learn when to setup static linking
Build Qt for static linking
Learn about static linking
In this video get to know about Qt Widgets in Android.
Install Qt Android Environment
Setup Qt Creator for Android
Build for Release
In this video will give you an overview of Qt Quick in Android.
Setup for Google Play
Build QML App for Release
Upload to Google Play
Unlike platform-specific libraries, Qt enables developers to code once and run it everywhere, natively, including mobile platforms! Moreover, Qt is open source and driven by communities around the world.
With this comprehensive 2-in-1 course you will get an complete insight into custom model-views, showcasing the power and flexibility of the model-view architecture. Moreover it additionally gives you deep drive into multimedia capture/manipulation, which play key roles in the mobile arena. Continuing the mobile trend, you will be walked throughQt's mobile offerings, including QtQuick, QML, and communicating between C++ and QML.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Learning Qt 5, enables developers to code once and run it everywhere, natively, including mobile platforms! Moreover, Qt is open source and driven by communities around the world. You’ll learn to work with both Qt (C++) and Qt Quick (QML) & also get familiar with common Qt modules and dive into GUI widgets.
The second course, Mastering Qt 5 GUI Programming is a powerful, cross-platform, graphics development framework. It provides a large set of consistent, standardized libraries and works on many major platforms, including embedded, mobile, desktop, and the web. You will also learn advanced Qt topics which includes an in-depth dive into custom model-views, showcasing the power and flexibility of the model-view architecture & much more.
About the Authors:
SohamMondal is an amateur developer who's currently doing his master's degree at Trinity College, Dublin. He has been contributing to open source projects for several years. He has worked in various areas, including the maintenance of Linux servers, desktop application development, and image recognition and analysis. Symeon has always been passionate about cool technology and elegant programming techniques. He has been programming Qt and QML applications for more than 2 years and has also been developing pure C and C++ programs for many years. Most of the projects he's working on can be found on his GitHub and Gitorious pages.
Benjamin Hoff is a Mechanical Engineer by education, he has spent the first 3 years of his career doing graphics processing, desktop application development, and facility simulation using a mixture of C++ and python under the tutelage of a professional programmer. After rotating back into a mechanical engineering job, Benjamin has continued to develop software utilizing the skills he developed during his time as a professional programmer.