Programming with Qt for Desktops

Dates:
Location: Atlanta, GA
Early Bird Pricing: $2,495
Regular Price: $2,995

Course Description

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
Objects
  • Qt's Object Model
  • Variants
  • Properties
Object Communication
  • Signals & Slots
  • Event Handling
Widgets and Designer
Widgets 
  • Designer Introduction
  • Common Widgets
  • Layout Management
  • Guidelines for Custom Widgets
Dialogs 
  • 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
  • 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
Animation
  • 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

Click here for mandatory computer requirements

< Back to full list of training

Programming with Qt for Desktops

Dates:
Location: Waltham, MA
Early Bird Pricing: $2,495
Regular Price: $2,995

Course Description

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
Objects
  • Qt's Object Model
  • Variants
  • Properties
Object Communication
  • Signals & Slots
  • Event Handling
Widgets and Designer
Widgets 
  • Designer Introduction
  • Common Widgets
  • Layout Management
  • Guidelines for Custom Widgets
Dialogs 
  • 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
  • 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
Animation
  • 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

Click here for mandatory computer requirements

< Back to full list of training

QML by Design

Qt QML was developed to be a declarative language for user interfaces, somewhat akin to HTML, with an eye toward making it approachable for designers, particularly those with web design experience. This webinar will touch on the benefits of having designers trained in the same framework the programmers are using. Rather than relying heavily on prior programming knowledge and jargon, we approach the material visually, introducing the graphical building blocks used to assemble a modern user interface.

SIGGRAPH 2017

ICS will be at SIGGRAPH 2017, the world’s largest, most influential annual conference and exhibition in computer graphics and interactive techniques: Five days of research results, demos, educational sessions, art, screenings, and hands-on interactivity featuring the community’s latest technical achievements, and three days of commercial exhibits displaying the industry’s current hardware, software, and services.