Qt 6 Core Intermediate with C++ on Udemy
• Welcome to the Course
◦ What does this course cover
◦ What this course doesn’t cover
◦ Challenges with intermediate
◦ Who should take this course
◦ Course prerequisites
◦ If you don’t know C++
◦ 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 already installed
◦ Installation issues
◦ Expect issues
◦ Bugs
◦ Reviews and feedback
◦ Skipped the beginners course
• Before we dive in
◦ Changes from Qt 5
◦ Installing Qt
◦ Porting from Qt 5
◦ Should I use STD or Qt
◦ When to use STD
◦ When to use Qt
◦ Building – QMake vs CMake
• What is a QObject
◦ QObject Class
◦ QObject macro
◦ Signals and Slots
◦ Disable copy
◦ Assignment
• Memory Management
◦ Stack vs heap
◦ Memory leaks
◦ Dangling pointer
◦ Smart pointers
◦ Parent child relationships
◦ Getting the parent and children
◦ QScopedPointer
◦ QSharedPointer
◦ Sharing a pointer among multiple objects
◦ Quiz
◦ Assignment
• Collections
◦ QList
◦ QVector
◦ QSet
◦ QMap
◦ QStringList
◦ qDeleteAll with QLists
◦ QSharedPointer with QList
◦ qDeleteAll with QMap
◦ QSharedPointer with QMap
◦ Assignment
• Views
◦ View Classes
◦ QByteArrayView
◦ QStringview
◦ Quiz
◦ Assignment
• Settings
◦ What are settings
◦ QSettings
◦ Groups in QSettings
◦ Navigating groups
◦ Setting the filename
◦ Assignment
• File system
◦ Intro to file systems
◦ Disks partitions and volumes
◦ Folders (Directories)
◦ Files
◦ File Formats
◦ File Extensions
◦ QIODevice
◦ Writing files
◦ Appending files
◦ Reading files
◦ Reading large files
◦ QTextStream
◦ QDataStream
◦ QDir
◦ Navigating directories recursively
◦ QFileInfo
◦ QStorageInfo
◦ QLockFile
◦ Assignment
• QDebug
◦ Intercepting QDebug messages
◦ Creating a logger class
◦ Creating message categories
◦ QLoggingCategory
◦ Assignment
• Encoding
◦ ASCII
◦ UTF-8
◦ UTF-16
◦ Base64
◦ Hex
◦ Assignment
• Compression
◦ What is compression
◦ Compression formats
◦ Data compression
◦ File compression
◦ 3rd party libs
◦ Quiz
◦ Assignment
• Serialization
◦ What is serialization
◦ Serializing and deserializing data
◦ Serializing a class
◦ Serializing to JSON
◦ Serializing to XML
◦ Assignment
• Algorithms and macros
◦ qDeleteAll
◦ Filling a container
◦ Sorting a container
◦ Comparing containers
◦ Copying containers
◦ Custom macro
◦ TypeDef
◦ When to use Qt and when to use STD
◦ Assignment
• Working with the Operating System
◦ What are processes
◦ Basic process lifecycle
◦ Process IO
◦ QSysInfo
◦ QProcess
◦ Working with a process
◦ Process custom commands
◦ Exploring our process life-cycle
◦ Assignment
• Timers
◦ What are timers
◦ Intervals
◦ QFileSystemWatcher
◦ Process timeout
◦ Assignment
• Basic Threading
◦ What are threads
◦ Async vs thead
◦ Threads are an advanced topic
◦ QThread
◦ Move to thread
◦ QThreadPool
◦ QtConcurrent
◦ Signals and slots across threads
◦ Assignment