Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Qt 5 Design Patterns
Highest Rated
Rating: 4.7 out of 5(428 ratings)
14,189 students

Qt 5 Design Patterns

Qt 5 Design Patterns with C++ For The Advanced Developer
Created byBryan Cairns
Last updated 12/2020
English

What you'll learn

  • Design patterns using Qt 5 and C++
  • Creational patterns
  • Structural patterns
  • Behavioral patterns
  • IO Patterns
  • State patterns
  • State machine framework
  • Abstract Factory
  • Builder
  • Factory Method
  • Object Pool
  • Prototype
  • Magic Static
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Chain of responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Null Object
  • Strategy
  • Visitor
  • Templates
  • Class construction
  • Memory managment
  • Smart pointers
  • Encapsulation
  • Qt property system
  • SOLID - Single-responsibility Principle
  • SOLID - Open-closed Principle
  • SOLID - Liskov substitution principle
  • SOLID - Interface segregation principle
  • SOLID - Dependency Inversion principle
  • DRY - Don't repeat yourself
  • KIS - Keep it simple
  • RAII - Resource Acquisition Is Initialization
  • Exception handling
  • Auto connecting signals and slots
  • Threading
  • Thread Pools
  • Qt Concurrent
  • Threading in Widgets
  • Threading in QML
  • Templates
  • Qt Template classes
  • Pointers in templates
  • QMake tricks
  • CMake tricks
  • Creating shared libraries
  • Using shared libraries
  • Loading shared libraries dynamically
  • Creating plugins
  • Loading plugins
  • Text Streams
  • Data Streams
  • Data Classes
  • Storing passwords
  • Controlling processes
  • Desktop services
  • QProcess in Widgets
  • QProcess in QML
  • Signal connection types
  • Disconnecting signals
  • Serializing objects
  • QML state

Course content

16 sections126 lectures21h 1m total length
  • Section 1 Intro0:45

    Explore what Qt 5 design patterns are, why we use them, and the course scope in section one, including conventions, pitfalls, and end-to-end workflow with raw, unfiltered demonstrations.

  • Versions - Qt 5 vs Qt 60:51
  • Welcome to the course0:26

    Present the heart of Q5 design patterns with a short, disclaimer and warnings section that contains no code and emphasizes not skipping this material.

  • Course prerequisites1:57

    Expect to tackle advanced topics that require C++ and Qt core knowledge. Recognize this is not a beginner course; prepare for a learning curve, independent research, and design pattern interconnections.

  • What this course covers1:52

    Explore common design patterns and practices used with Qt 5, with code examples and a focus on classes, interfaces, inheritance, polymorphism, file structure and streams.

  • What this course does not cover1:02

    The course targets advanced Qt 5 design patterns and omits hello world and basic QML topics, assuming you are an experienced programmer and prefer short, simple, focused lessons.

  • Conventions and standards1:14

    Explore how conventions and standards influence programming across Apple, Microsoft, and Google, and learn to apply fluid design patterns that adapt to any standard while solving problems.

  • Mistakes will be made1:22

    Acknowledge that complex programming tasks will involve mistakes and disagreements, compare append, read-write, and write modes, and invite feedback to fix issues on GitHub.

  • Raw and unfiltered1:45

    Explore raw and unedited videos that reveal real-time problem solving, showing mistakes, mispronunciations, and the thought process behind overcoming challenges.

  • What are design patterns1:20
  • Why use design patterns1:03

    Design patterns provide reusable, well defined, proven solutions that simplify complex code and solve specific issues, making patterns easy to use across projects.

  • Challenges with design patterns1:38

    Explore why design patterns face constant change, and how to craft enduring solutions by using what works for your situation, aiming for designs that last amid evolving technology.

  • Where to get help2:24

    Access help through the Udemy course, join the Void Realms Facebook group for 24/7 open community support, and engage respectfully in the global programming community.

  • Section 1 - Quiz
  • Section 1 - Assignment

Requirements

  • Qt Core beginners with Qt 5
  • Qt Core intermediate with Qt 5
  • Qt Core Advanced with Qt 5
  • Qt Widgets beginners with Qt 5
  • QML beginners with Qt 5
  • Advanced level knowledge and experience with Qt
  • Advanced level knowledge and experience with C++

Description

This is an advanced course that covers design patterns using Qt 5 and C++. It is strongly advised you do not attempt this course until you have completed all the prerequisites -see my other courses on Udemy if you need a refresher.

Awarded Content Creator in the 2020 Qt Champion Awards:

"Bryan has a few courses available on Udmey, specifically his course on Qt 5 Design Patterns and also has a popular group on Facebook which helps others with their Qt questions as well. For his work alone in creating the Qt 5 training course online for everyone to benefit from it was easy to make him our year's Content Creator."

In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design - a design pattern is not a finished application but rather a tool the developer can use across any software framework. Design patterns can speed up the development process by providing tested, proven development paradigms. Effective software design requires considering issues that may not become visible until later in the implementation. Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for coders and architects familiar with the patterns.

The goal of this course is to teach the student how to use design patterns in Qt 5 with C++ along with an understanding of issues specific to Qt 5. We will use a wide range of Qt technologies from Widgets, QML, sockets, server, threading, io, streams, processes, and the State Machine Framework. This course will cover traditional design patterns along with looking at common problems and solutions specific for Qt 5.

These videos are filmed live and unedited, the student will see every single step, mistake and correction - the result is the same as if sitting in a classroom watching in real time.

Who this course is for:

  • Advanced Qt C++ developers