Programming with Qt for Desktops
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