Programming with Qt for Desktops

This is a 5-day, in-depth introduction to Qt programming, primarily focusing on using Qt Widgets and the associated development tools (Qt Designer, Qt Creator and friends). Students will experience the challenges of cross-platform development with exercises that involve porting applications from Windows to MacOS (or vice versa).

Course Availability: On-site, Open Enrollment

Subject: Qt

Duration: 5 days

Course Prerequisites

  • Working knowledge of C++ programming
  • Basic knowledge of GUI programming
  • Previous Qt experience is not required

Course Learning Objectives

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

Course Outline

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

  • 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

Register View All Training Courses
Location 1159 Sonora Court, Sunnyvale, California 94086, United States
Starts 0:00 Jun 15, 2020 UTC 0
Ends 0:00 Jun 19, 2020 UTC 0
Type Training courses

Cost $2995
Language English
Organizer ICS
Phone 6176210060

Register to Event