Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
IT & Software Other IT & Software QT Framework

Qt 5 Design Patterns

Qt 5 Design Patterns with C++ For The Advanced Developer
Rating: 4.5 out of 54.5 (129 ratings)
11,116 students
Created by Bryan Cairns
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

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

Course content

16 sections • 126 lectures • 21h 1m total length

  • Preview00:45
  • Versions - Qt 5 vs Qt 6
    00:51
  • Welcome to the course
    00:26
  • Course prerequisites
    01:57
  • What this course covers
    01:52
  • What this course does not cover
    01:02
  • Conventions and standards
    01:14
  • Mistakes will be made
    01:22
  • Raw and unfiltered
    01:45
  • What are design patterns
    01:20
  • Why use design patterns
    01:03
  • Challenges with design patterns
    01:38
  • Preview02:24
  • Section 1 - Quiz
    4 questions
  • Section 1 - Assignment
    1 question

  • Preview00:34
  • Preview06:26
  • SOLID - Open closed principle
    16:41
  • SOLID - Liskov substitution principle
    07:30
  • SOLID - Interface segregation principle
    12:31
  • SOLID - Dependency inversion principle
    14:33
  • KIS - Keep it simple
    14:34
  • DRY - Don't repeat yourself
    13:14
  • Access modifiers
    10:05
  • Encapsulation
    09:17
  • Qt property system
    38:03
  • Code deprecation
    07:32
  • Section 2 - Quiz
    4 questions
  • Section 2 - Assignment
    1 question

  • Preview00:23
  • Preview11:23
  • Basic exception safety
    06:53
  • Strong exception safety
    07:54
  • No throw guarantee
    13:21
  • Section 3 - Quiz
    4 questions
  • Section 3 - Assignment
    1 question

  • Preview00:32
  • The stack
    11:49
  • The heap
    18:09
  • Leaks and bad pointers
    12:54
  • Parent child
    11:16
  • Preview20:28
  • Scoped pointers
    13:34
  • Shared pointers
    14:58
  • Smart pointers in the standard library
    08:16
  • Section 4 - Quiz
    4 questions
  • Section 4 - Assignment
    1 question

  • Preview00:37
  • Signals and slots basics
    12:49
  • Disconnecting
    13:25
  • Preview21:18
  • Sender function
    22:28
  • Connection types
    15:22
  • Signals and slots inside a lib
    18:47
  • Section 5 - Quiz
    4 questions
  • Section 5 - Assignment
    1 question

  • Preview00:30
  • Inheriting QThread
    10:21
  • QThread moveTo
    11:36
  • QThreadPool
    20:36
  • Preview15:44
  • Update a GUI (Widgets) from a thread
    20:52
  • Update a GUI (QML) from a thread
    18:11
  • Section 6 - Quiz
    4 questions
  • Section 6 - Assignment
    1 question

  • Preview00:22
  • Using templates
    04:41
  • Templates in QObjects
    02:38
  • QObjects in a template
    06:01
  • Qt template classes
    11:15
  • Preview06:46
  • Section 7 - Quiz
    4 questions
  • Section 7 - Assignment
    1 question

  • Preview00:54
  • Abstract factory
    17:17
  • Builder pattern
    21:41
  • Factory method
    13:05
  • Object pool
    12:33
  • Prototype
    07:58
  • Preview07:13
  • Section 8 - Quiz
    4 questions
  • Section 8 - Assignment
    1 question

  • Preview00:48
  • Adapter
    06:01
  • Bridge
    07:29
  • Composite
    12:02
  • Preview07:56
  • Facade
    05:25
  • Flyweight
    11:00
  • Section 9 - Quiz
    4 questions
  • Section 9 - Assignment
    1 question

  • Preview01:10
  • Chain of responsibility
    10:59
  • Command
    07:34
  • Interpreter
    04:23
  • Iterator
    06:14
  • Mediator
    03:06
  • Memento
    07:17
  • Preview03:51
  • One to many
    10:08
  • State
    05:22
  • Strategy
    05:40
  • Template
    04:38
  • Visitor
    08:19
  • Section 10 - Quiz
    4 questions
  • Section 10 - Assignment
    1 question

Instructor

Bryan Cairns
Computer Guru
Bryan Cairns
  • 4.4 Instructor Rating
  • 9,469 Reviews
  • 140,115 Students
  • 15 Courses

Awarded Content Creator in the 2020 Qt Champion Awards:

"Bryan has a few courses available on Udemy, 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."

I am a highly trained computer professional with the following skills:

Languages - C, C++, Dart, Flutter, QML, Java, Python, Visual Basic, C#, ASP, HTML, Javascript, VBScript

Frameworks - Qt, Java, .Net, Yii, Flutter

Certifications - CISSP, CEH, MCITP, MCSE, MCSA, CCNA, VCP, A+, Network+, Server+, Linux+

Operating Systems - 2008, 2008R2, 2012,2016, 2019 XP, 7, 10, Linux

Software - SQL, IIS, Cisco UCS, NetApp, HP Storageworks, Vmware VCenter, Ironport, SolarWinds


  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.