Programming with Qt for Python

Dates:
Location: Sunnyvale, CA
Early Bird Pricing: $2,495
Regular Price: $2,995

Course Description

This class is a 5-day hands-on introduction to developing desktop applications using the official set of Python bindings: Qt for Python (also known as PySide 2). Through a series of examples and labs, we will cover GUI programming, GraphicsView, Model/View and the challenges inherent to mixing the Qt API with Python. Although we will mostly use Qt for Python, the material presented also applies to those wishing to use PyQt.

Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 5 days

Course Prerequisites

  • Working knowledge of Python
  • Basic knowledge of GUI programming
  • No previous Qt experience necessary

Course Outline

Short Overview of Qt

  • What is Qt for Python?
  • The Story of Qt for Python
  • Qt Licensing and Modules
  • Hello World in Qt for Python
  •  Object-oriented Programming in Python

Object Communication and the Event System

  • About QObject
  • Signal and Slots
  • Event System
  • The Qt Property System
  • Core Classes

Widgets and Dialogs

  • Designer Introduction
  • Common Widgets
  • Dialogs
  • Layout Management

Application Creation

  • Designer: Main Windows, Menus, and Actions
  • Main Windows
  • Settings
  • Resources

Model/View

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

Model/View II

  • Editing Item Data
  • Data Widget Mapper
  • Custom Tree Models

Painting and Styling

  • Painting on Widgets
  • Color Handling
  • Painting Operations
  • Styling

GraphicsView

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

Additional Topics

  • Drag and Drop
  • Intro to QML
  • Qt Threads
  • Networking

 

Click here for mandatory computer requirements

< Back to full list of training

Programming with Qt for Python

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

Course Description

This class is a 5-day hands-on introduction to developing desktop applications using the official set of Python bindings: Qt for Python (also known as PySide 2). Through a series of examples and labs, we will cover GUI programming, GraphicsView, Model/View and the challenges inherent to mixing the Qt API with Python. Although we will mostly use Qt for Python, the material presented also applies to those wishing to use PyQt.

Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 5 days

Course Prerequisites

  • Working knowledge of Python
  • Basic knowledge of GUI programming
  • No previous Qt experience necessary

Course Outline

Short Overview of Qt

  • What is Qt for Python?
  • The Story of Qt for Python
  • Qt Licensing and Modules
  • Hello World in Qt for Python
  •  Object-oriented Programming in Python

Object Communication and the Event System

  • About QObject
  • Signal and Slots
  • Event System
  • The Qt Property System
  • Core Classes

Widgets and Dialogs

  • Designer Introduction
  • Common Widgets
  • Dialogs
  • Layout Management

Application Creation

  • Designer: Main Windows, Menus, and Actions
  • Main Windows
  • Settings
  • Resources

Model/View

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

Model/View II

  • Editing Item Data
  • Data Widget Mapper
  • Custom Tree Models

Painting and Styling

  • Painting on Widgets
  • Color Handling
  • Painting Operations
  • Styling

GraphicsView

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

Additional Topics

  • Drag and Drop
  • Intro to QML
  • Qt Threads
  • Networking

 

Click here for mandatory computer requirements

< Back to full list of training

Programming with Qt for Python

Dates:
Location: Sunnyvale, CA
Early Bird Pricing: $2,495
Regular Price: $2,995

Course Description

This class is a 5-day hands-on introduction to developing desktop applications using the official set of Python bindings: Qt for Python (also known as PySide 2). Through a series of examples and labs, we will cover GUI programming, GraphicsView, Model/View and the challenges inherent to mixing the Qt API with Python. Although we will mostly use Qt for Python, the material presented also applies to those wishing to use PyQt.

Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 5 days

Course Prerequisites

  • Working knowledge of Python
  • Basic knowledge of GUI programming
  • No previous Qt experience necessary

Course Outline

Short Overview of Qt

  • What is Qt for Python?
  • The Story of Qt for Python
  • Qt Licensing and Modules
  • Hello World in Qt for Python
  •  Object-oriented Programming in Python

Object Communication and the Event System

  • About QObject
  • Signal and Slots
  • Event System
  • The Qt Property System
  • Core Classes

Widgets and Dialogs

  • Designer Introduction
  • Common Widgets
  • Dialogs
  • Layout Management

Application Creation

  • Designer: Main Windows, Menus, and Actions
  • Main Windows
  • Settings
  • Resources

Model/View

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

Model/View II

  • Editing Item Data
  • Data Widget Mapper
  • Custom Tree Models

Painting and Styling

  • Painting on Widgets
  • Color Handling
  • Painting Operations
  • Styling

GraphicsView

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

Additional Topics

  • Drag and Drop
  • Intro to QML
  • Qt Threads
  • Networking

 

Click here for mandatory computer requirements

< Back to full list of training

Programming with Qt for Python

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

Course Description

This class is a 5-day hands-on introduction to developing desktop applications using the official set of Python bindings: Qt for Python (also known as PySide 2). Through a series of examples and labs, we will cover GUI programming, GraphicsView, Model/View and the challenges inherent to mixing the Qt API with Python. Although we will mostly use Qt for Python, the material presented also applies to those wishing to use PyQt.

Course Availability: On-site, Open Enrollment
Subject: Qt
Duration: 5 days

Course Prerequisites

  • Working knowledge of Python
  • Basic knowledge of GUI programming
  • No previous Qt experience necessary

Course Outline

Short Overview of Qt

  • What is Qt for Python?
  • The Story of Qt for Python
  • Qt Licensing and Modules
  • Hello World in Qt for Python
  •  Object-oriented Programming in Python

Object Communication and the Event System

  • About QObject
  • Signal and Slots
  • Event System
  • The Qt Property System
  • Core Classes

Widgets and Dialogs

  • Designer Introduction
  • Common Widgets
  • Dialogs
  • Layout Management

Application Creation

  • Designer: Main Windows, Menus, and Actions
  • Main Windows
  • Settings
  • Resources

Model/View

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

Model/View II

  • Editing Item Data
  • Data Widget Mapper
  • Custom Tree Models

Painting and Styling

  • Painting on Widgets
  • Color Handling
  • Painting Operations
  • Styling

GraphicsView

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

Additional Topics

  • Drag and Drop
  • Intro to QML
  • Qt Threads
  • Networking

 

Click here for mandatory computer requirements

< Back to full list of training

Implementing Modern Apps with Qt Quick

Dates:
Location: Sunnyvale, CA
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/

< Back to full list of training

Implementing Modern Apps with Qt Quick

Dates:
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/

< Back to full list of training

Programming with Qt for Embedded Devices

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

Course Description

This 5-day course focuses on developing modern applications for embedded systems and touchscreens using Qt and QtQuick. The class utilizes real development boards with touchscreens for each participant and introduces students to working with embedded touchscreen systems. Further, fundamentals of programming with Qt will be covered to give participants a thorough understanding of the underlying ideas of QML and QtQuick. Efficient and robust design of applications for touchscreen enabled devices utilizing the latest QtQuick techniques is the central focus of this class. As such, architectural considerations for creating applications consisting of beautiful and highly responsive presentation layers, backed by solid back-end implementations are important learning goals for participants.

In the course, we will use the Raspberry Pi embedded system and a multi-point touchscreen. After the class, you may keep the board and touchscreen for a discounted fee of $172.50 plus tax. This is optional and we will loan you a touchscreen and board at no extra charge if you prefer.

 

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 Outline

Qt Fundamentals
  • Core Classes
  • String Handling
  • Container Classes
  • File Handling
  • Command Line Parsing
  • Lab: File I/O, Text Manipulation, and Command Line Parsing
  • Objects
  • Qt's Object Model
  • Variants
  • Properties and MetaProperties
  • ANSI-Style Typecasts
  • Signals & Slots
  • QTimers
  • Event Handling
  • QApplication, Resources, etc..
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
Qt Quick Structures and User Interaction
  • Qt Quick Structures
  • Components
  • Signals and Slots in QML
  • QtQuick 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
Miscellaneous Topics
  • Presenting Data (QML)
  • Arranging Items
  • Data Models
  • Using Views
  • XML Models
  • Views Revisited
  • Graphics Effects
  • Canvas
  • Particles
  • Shaders
  • MultiThreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives

Mandatory computer requirements

Register

< Back to full list of training

Programming with Qt for Desktops

Dates:
Location: Sunnyvale, 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

Click here for mandatory computer requirements

< Back to full list of training