Qt 6 Core Advanced with C++

A followup to the Qt 5 Core for beginners and intermediate courses.

4.58 (482 reviews)
Udemy
platform
English
language
Other
category
instructor
23,756
students
13 hours
content
Mar 2022
last update
$84.99
regular price

What you will learn

Qt 6 Core

Synchronous coding

Asynchronous coding

Threaded coding

Threading concepts

Synchronizing threads

Qt Concurrent

Futures

Getting future values

Synchronizing future values

Thread Pools

Semaphores

Mutexes

Networking concepts

Sockets

UDP Sockets

TCP Sockets

Host Addresses

Network Proxies

Ssl

Ssl Sockets

Network Access Manager

Creating libraries

Loading libraries

Shared libraries

Static libraries

Plugins

Dependency trees

Database concepts

Plugin loader

Database drivers

Connecting to databases

Work with databases

Unit testing

Data driven tests

Test failure handling

Deploying application concepts

Deploying to Windows

Deploying to Mac

Deploying to Linux

Description

This is not a beginners course!

This is an advanced Qt 6 course using C++ to create high performance applications on Windows, Mac and Linux. This course also includes advanced topics such as threading, networking, libraries, plugins, databases, unit testing, and application deployment.


This is a followup to the Udemy Qt 5 Core for beginners and intermediate courses and picks up where they both left off. It is highly recommended to take those courses before attempting this one. In this course you will learn how to work with threads, sockets, libraries, plugins, unit testing, and application deployment across multiple operating systems.


Threading

Threads help make your applications lighting fast. You will learn threading best practices, along with some common misconceptions and mistakes. Additionally we will dive into thread pools which are highly fast and efficient use of threads. And we will cover how to simplify threading using the Qt Concurrent Library.


Networking

We will cover general networking concepts along with who to use both TCP and UDP sockets to communicate with remote servers. This course also covers how to use SSL encryption to maintain a secure connection with the remote host. Later on in the networking section we will demonstrate how to make a basic TCP server, then combine threading and SSL to make a high performance TCP server that can handle a lot of simultaneous connections.


Libraries

We will teach what libraries are, and how you can easily create your own libraries along with how to use libraries created by other developers. This course also covers shared vs static libraries, and even how to make your application expandable by developing a simple plugin system that allows you to dynamically add functionality to your application while its running without recompiling your application.


Databases

This is a broad topic and we will show just the basics of how to use the Qt SQL libraries and vendor drivers to connect to and use databases. We do demonstrate a few concepts using MySql.


Testing

This course will teach how to use the Qt Test library, which will help you perform unit and data driven tests on your application. We will even cover how to perform some simple bench marking to spot performance issues in your code.


Deployment

Deploying your applications to end users is both an art and a science. While there are millions of ways to deploy your applications, we will show some basic techniques for Windows, Mac and Linux. In case you need to have a custom deployment, this course does cover how to compile Qt in both Dynamic and Static linking, which allows you to choose between having a dependency tree or an all in one application.


Featuring closed caption in: English, Hindi, Korean, Spanish, Traditional Chinese

Content

Welcome to the course

What does this course cover
Source Code
About the videos
Reviews and feedback
What does this course not cover
Challenges with advanced
Who should take this course
Course prerequisites
If you don’t know C++ or Qt
Who is the instructor
Raw and unfiltered
Qt overview
Courses overview
Qt is massive
What why how recap
Goals of the course
What is Qt
What can you make with Qt
Have Qt installed
Installation issues
Expect issues
Bugs
Skipped the previous courses

Before we begin

Qt configuration, kits and more
Maintenance tool overview
3rd party tools
Google to the rescue
Updating the Qt versions

Threads

Synchronous code
Asynchronous code
Threaded code
Synchronous example
Asynchronous example
Creating threads
Inheriting QThread
Thread LifeCycle
QThreadPool
QMutex
QMutexLocker
QSemaphore
QWaitCondition
Signals and slots in threads
What is Qt Concurrent
Intro to Qt Concurrent
QtConcurrent
QtConcurrent issues
QFutureWatcher
QFuture return values
QFutureWatcher Slots
QFutureIterator
QFutureSyncronizer
Threaded example
Quiz

Networking

What is networking
Understanding networks
Ports
Protocols
Network vs internet
Clients
Servers
Hybrid roles
Proxy Servers
DNS
SSL
TCP
UDP
Async Sockets
Threaded Sockets
QHostAddress
QUdpSocket
UDP Chat Example
QTcpSocket
QNetworkProxy
QSslSocket
Synchronous TCP
Synchronous UDP
Asynchronous TCP
Asynchronous UDP
Threaded TCP
Threaded UDP
QNetworkAccessManager HTTP
QNetworkAccessManager FTP
QTcpServer
Multi-threaded TCP Server
Multi-threaded TCP Testing
About SSL Certificates
SSL Server – creating a certificate
SSL Server – creating the server
SSL Server – testing
Quiz

Libraries

What is a library
Why use libraries
Shared libraries
Static libraries
Shared vs static
Plugins
Dependency trees
Deployment issues
Creating a shared library
Creating a shared external library
Shared library dependencies
Static Library
Application Plugins
Overview of popular libraries
Quiz

Databases

Intro to databases
What are databases
Why use a database
Understanding Qt database plugins
Loading a Plugin with QPluginLoader
Listing drivers with QSqlDriver
QSqlDatabase and QSqlQuery
Data class example
Quiz

Testing

What is unit testing
Why use unit testing
Qt Test
Basic tests
Testing failure
Data driven tests
Benchmarking
Skipping tests and expecting failure
Quiz

Deploying

Intro to deploying applications
Deployment challenges
Deployment strategies
Shared vs Static builds
Millions of ways to deploy
Test application
Deploying on Mac
Deploying on Linux
Deploying on Windows
Building Qt Both Dynamic and Static
Notes on static linking
Qt installer framework

Screenshots

Qt 6 Core Advanced with C++ - Screenshot_01Qt 6 Core Advanced with C++ - Screenshot_02Qt 6 Core Advanced with C++ - Screenshot_03Qt 6 Core Advanced with C++ - Screenshot_04

Reviews

Ajala
September 19, 2023
It's a very nice course. The only problem is with the "Networking" section, it is too abstract. A practical example of how it works together could have been better
Adam
August 29, 2023
The topics covered in the course are good but Brian is not a good teacher. I find he doesn't effectively explain what, why, or how things are happening - he just glosses over a lot of the details and shows you the most basic bare-bones application that does what is covered in that section. He never really combines topics or shows you more than a very basic example that you then have to extrapolate to accomplish something. Also in almost every lecture Brian says something like "Whattt... this is so confusing" and then gives a half-assed explanation - IF YOU COULD TEACH IT WOULDN'T BE CONFUSING. Or he says "It just works" - COULD YOU EXPLAIN HOW EXACTLY IT WORKS. In some lectures, to explain the topic, he just Googles the topic and reads the first result or reads the Qt documentation, which while it may be correct, isn't what I paid for - I can read Google and read documentation by myself - I paid for this course so you can teach me the information. I'm not sure how this course has 4.8 starts - maybe I just find Bryan annoying
Fellipi
April 19, 2023
Bryan is a top instructor, and I mean real top, so, you won't have any surprise - the course is great. I like how he goes through what he needs to go, but doesn't go into what might not be our goal at the moment, but mentions it, so that we have some keywords to look into if needed.
Robert
April 15, 2023
Bryan has a clear speaking voice, not to slow and not too fast. So it's fine also for non native speaker. Also his sense of humor is nice, sometimes you can "hear" him smiling ;-) The course itselfs is clear structured in topics like "Threads" or "Libraries" or "Deploying" and there's no need to work through in the right sentence, but can always jump to the topic you're intersted in. Also, Bryan keeps the syntax easy, the code is not really complicated. Btw., all source code is up to date on Github and the important parts are documented. Also, the source code on Github is the same as shown in the video and is running out of the box without any errors. All in all, a pity I didn't find this course earlier. I've enjoyd learning and the course is much more than I've expected. Thanks a lot!
Martin
March 11, 2023
I knew that QT6 had an extensive library in addition to their GUI development tools. I selected this course to help me become familiar with many of these libraries and tools. It did not disappoint me.
Joan
January 19, 2023
These into videos are way too short, and say nothing. And each of them has an intro and an outro. So far, it seems the instructor just wants to make sure no one gives him bad review so he is going into excruciating detail about who should be in the class or to explain his mistakes while he types (as if he's the only one who does these on one take, he's not). These 23 one minute videos probably should have been 2 5 minute videos. Maybe 3.
Franz-Josef
January 6, 2023
all is mixed somehow, not so nice structure in the course. A lot of repeating all the time. I think better don't mix C++ and QT
Jin
December 11, 2022
This course is what I was looking for. It's amazing. Thank the instructor very much. Looking forward to further courses on QT6 about GUI and QML. Thanks!
Willy
December 6, 2022
I bought the courses of all three levels: beginner, intermediate and the so-called advanced and watched pretty much all of the contents. I Don't Recommend anyone buying it. The genuine and concise feeling is that it is Aim-less, notice i didn't say it is non-useful. The point is if you want to learn Qt in a structure way, this is NOT for you, but if you are trying to get a really really rough idea of what Qt can do for you, it might help. My two biggest complaints are: 1. The instructor is too verbose and tend to repeat things that are meaningless at all, like saying "work with me mouse", "this is way way out of the scope of this course" or "the subject is too complex that i could make an entire couse on this subject"... 2. The instructor really lacks of plan for tutorial structure, put it another word, you have no idea what the instructor trying to teach you, seems like he just fires bullet all over the place, try to present different pieces to you, at the end of the day when you finished the couses, apart from learning some "syntax" and "apis", you might find out you learn nothing from here.
Kirill
November 1, 2022
I know the topic of multi-threaded programming and have three years of experience in developing multi-threaded applications. But, when I watch this course, I don’t understand at all what the author is trying to convey in this or that video. The course is not structured at all.
Arturs
September 24, 2022
Amazing course, Bryan. Very structured and easy to learn. I hope to see more courses on Qt from you and you've mentioned Qt Installer Framework, it would be a great idea to make it someday in the future.
Leonardo
September 7, 2022
Excellent content. The instructor is a dedicated teacher and responds to students question in a timely manner. Loved it.
Tim
August 8, 2022
Have been watching Bryan's video on Youtube for a very long time, have finished most of his 224 session-long Qt C++ course. It helped my work immensely. Now purchased this Qt6 advanced course on Udemy. Very good quality course!!! Highly recommended!!!
Christoph
May 31, 2022
Very useful content, partly challenging but manageable. Assignments are good, not too difficult but force you to revise the last lessons. The instructor is quick to help. The database part was really difficult for Apple Silicon, but that's more a problem between Qt and Apple. I'd love to see a hands-on course with Qt on an embedded device, or maybe a final collection of links where to continue from here.
Tom
May 17, 2022
This is a well organized, thoroughly explained course. If you do run into problems the nature of Qt seems to be very specific to your system. There were points where I just stopped trying to get a project working because I wasn't able to get a plugin to work, or a driver didn't load properly. Frustrations aside, this is one of the best Qt/programming courses out there.

Coupons

DateDiscountStatus
7/12/2021100% OFF
expired
10/8/2021100% OFF
expired

Charts

Price

Qt 6 Core Advanced with C++ - Price chart

Rating

Qt 6 Core Advanced with C++ - Ratings chart

Enrollment distribution

Qt 6 Core Advanced with C++ - Distribution chart

Related Topics

4176526
udemy ID
7/10/2021
course created date
7/12/2021
course indexed date
Bot
course submited by