Programming with Qt

Programming with Qt

This is a 5-day in-depth introduction to Qt programming. The course is based on the Qt Essentials course outline and extended with a selection of optional pick and choose modules for day 4 and 5. This allows customers to focus on the technologies relevant to their projects.


  • 5 days
Course Description: 


Qt Core and Widgets

Qt Fundamentals

Fundamentals of Qt

  • The Story of Qt
  • Developing a Hello World Application
  • Hello World using Qt Creator
  • Practical Tips for Developers

Objects and Core Types

Core Classes

  • String Handling
  • Container Classes
  • File Handling


  • Qt's Object Model
  • Variants
  • Properties

Object Communication

  • Signals & Slots
  • Event Handling

Widgets and Designer


  • Designer Introduction
  • Common Widgets
  • Layout Management
  • Guidelines for Custom Widgets


  • Dialogs
  • Common Dialogs
  • Designer Forms and Code Integration

Applications and Painting

Application Creation

  • Main Windows
  • Designer: Main Windows, Menus, and Actions
  • Settings
  • The System Clipboard
  • Drag and Drop
  • Resources
  • Translation for Developers
  • Deploying Qt Applications

Painting and Styling

  • Painting on Widgets
  • Color Handling
  • Painting Operations
  • Style Sheets

Models and Views


  • Model/View Concept
  • Showing Simple Data
  • Proxy Models
  • Custom Models

Model/View II

  • Delegates
  • Editing item data
  • Data Widget Mapper
  • Drag and Drop
  • Custom Tree Models

Graphics View

Graphics View

  • Using GraphicsView Classes
  • Coordinate Systems and Transformations
  • Creating Custom Items

Graphics View 2

  • Widgets in a Scene
  • Drag and Drop
  • Effects
  • Performance Tuning

Other Topics


  • Starting Animation
  • Animation Groups
  • States and Animations
  • Events and Transitions

Qt Additional Models

MultiThreaded Programming and Multimedia in Qt

Multithreaded Programming

  • Qt Multithreading
  • Threading Primitives
  • QtConcurrent

Multimedia Programming

  • Qt Multimedia

Inter-Process Communication

Interprocess Communication

  • QProcess
  • Shared Memory with Qt
  • Network Programming
  • QNetworkAccessManager Request/Reply
  • Bearer Management API
  • TCP/UDP Sockets
  • SSL Sockets
  • DNS and Proxies
  • QtDBus - Qt Bindings to D-Bus
  • QtDBus - Advanced Topics

Other Topics

Extending Qt with Plugins

  • Qt Plugins
  • Plugin Example: Custom Image Formats

Data Processing

  • Basic XML APIs
  • SQL Database API
  • SQL Models

XML Patterns

  • XPath, XQuery, and XSLT
  • QtXmlPatterns
  • XML Schema


Course Learning Objectives: 
  • A working knowledge of the capabilities and limitations of Qt
  • Experience in programming with Qt
  • Course slides and sample programs

Course Availability:

  • Open Enrollment
  • On-site
Course Prerequisites: 
  • Working knowledge of C++ programming
  • Basic knowledge of GUI programming
  • Previous Qt experience is not required
Download Course Description: