Exploring Wayland: A Modern Display Server for the Future
Live Webinar, May 1 @ 1 pm EDT!
Moving from C++ to Rust
The Rust programming language has been gaining traction in the past few years, as it is known for its performance, safety and memory management. But is it the right replacement for C++? If you’re looking to switch from C++ to Rust there will be some challenging aspects. Join our webinar for Rust demos and code examples and to find out if Rust is right for your next software project.
Programming with Qt for Desktops
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
Avoid Pitfalls When Developing a Qt Model-View-Delegate Project
Programming with Qt for Desktops - early bird pricing extended!
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
Programming with Qt for Desktops
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
Programming with Qt for Desktops
Location: San Diego, CA
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
Implementing Modern Apps with Qt Quick
Location: Waltham, MA
Early Bird Pricing: $1,695
Regular Price: $1,995
Course Description
This 3-day course focuses on developing modern applications for embedded systems and desktops using Qt Quick. The target audience is accustomed to the widget classes and is looking to implement UI using QML instead. It assumes a working knowledge of the Qt core and widget classes. The course will present the latest Qt Quick techniques for implementation of UI and UI behavior, the interaction between C++ and QML, user interaction, animations and state machines. Additionally you will learn debugging, profiling and unit testing techniques. The course includes hands-on lab assignments.
Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 3 days
Course Prerequisites
- Basic knowledge of programming with Qt on the desktop using widgets
- Basic knowledge of C++
Introduction to QML and Qt Quick
- Introduction to Qt Quick
- Qt Creator
- Qt Quick Hello World
- QML Concepts
- Composing User Interfaces
- Nested Elements
- Graphical Types
- Text Items
- Anchor Layout
- QML Components
- Dynamic Object Management in QML
Qt Quick Structures and User Interaction
- Qt Quick Structures
- Components
- Signals and Slots in QML
- Qt Quick Controls
- Modules
- User Interaction
- Mouse Input
- Touch Input
- Keyboard Input
Animations, States and Transitions
- Animations
- Easing Curves
- Animation Groups
- States and Transitions
- States
- State Conditions
- Transitions
Under the Hood - the Qt C++ Layer
- Integrating QML with C++
- Declarative Environment
- Exporting C++ Objects to QML
- Exporting Classes to QML
- Using Custom Types
- Plug-ins
Debugging and Unit Testing
- Notes on Debugging
- QML profiler
- Unit Testing
- Mocking QML UI
You will need a laptop with the following with Qt version 5.x https://www.qt.io/download/