Mastering Qt File Selectors

Qt provides a nice facility to handle this in a more elegant way: file selectors. In this blog post. I'll look at what Qt provides, for both C++ and QML, and show a simple but complete program example.

Effective QML (early-bird pricing extended!)

Dates:
Location: Bedford, MA
Early Bird Pricing: $1695
Regular Price: $1995
Register

Course Description

 

This 3-day course approaches common issues inherent to Qt/QML development. We cover a wide-range of advanced topics such as keyboard focus, gestures, virtual keyboard, unit-testing, profiling, rendering; and provide helpful design patterns and debugging tips. The target audience is the intermediate QML developer.

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 QML experience

Day 1

User Input

  • Keyboard Navigation and Focus
  • Input Focus
    • Focus Order
    • Focus property
    • Active Focus
    • FocusScope
  • Virtual Keyboard
  • Handling Keyboard Input
    • Key-Specific Handlers
    • All Keys Handler
    • Key Event Propagation
    • Event Propagation is Convenient
  • Multi-Touch
    • Common Multi-Touch Gestures
    • Handling Overlapping Touch Areas

Dynamic Creation of Items

  • Creating Items Dynamically
    • Procedural Method
    • Declarative Method
  • Procedural Creation
  • Procedural/Declarative Creation
  • Declarative Creation
  • Creating Multiple Items
  • Repeaters

Debugging and Profiling QML Applications

  • The Scene Graph
  • QML Profiler


Day 2

Review and Solution of Lab 1
Model/View
  • Model/View Concepts
  • Showing Simple Data
  • Custom Models
  • Proxy Models
  • Delegates
  • Tree Models
Multithreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives
  • QtConcurrent
C++/QML Layer
  • Layered Design
  • Exporting QPainter based GUI Classes
  • Exporting Scene Graph GUI classes
  • Defining Custom Property Types
  • Qt Serial Bus C++ Classes

Day 3

Testing
  • QTest Framework in QML
    • Overview
    • Adding a Test Suite
    • Implementing a Test
    • Add a Testing Main()
    • Running the Test
    • Simulating GUI Events
    • Mocking C++ Classes with QML
    • SignalSpy
  • Design for Testability
  • Notes on Google Test Framework and Qt

Additional Topics
  • Animations
  • QML Charts
  • QML Canvas
  • Particles
  • OpenGL and QML
  • Intro to Qt 3D

 

Register

< Back to full list of training

Effective QML

Dates:
Location: Silicon Valley
Early Bird Pricing: $1695
Regular Price: $1995

Course Description

 

This 3-day course approaches common issues inherent to Qt/QML development. We cover a wide-range of advanced topics such as keyboard focus, gestures, virtual keyboard, unit-testing, profiling, rendering; and provide helpful design patterns and debugging tips. The target audience is the intermediate QML developer.

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 QML experience

Day 1

User Input

  • Keyboard Navigation and Focus
  • Input Focus
    • Focus Order
    • Focus property
    • Active Focus
    • FocusScope
  • Virtual Keyboard
  • Handling Keyboard Input
    • Key-Specific Handlers
    • All Keys Handler
    • Key Event Propagation
    • Event Propagation is Convenient
  • Multi-Touch
    • Common Multi-Touch Gestures
    • Handling Overlapping Touch Areas

Dynamic Creation of Items

  • Creating Items Dynamically
    • Procedural Method
    • Declarative Method
  • Procedural Creation
  • Procedural/Declarative Creation
  • Declarative Creation
  • Creating Multiple Items
  • Repeaters

Debugging and Profiling QML Applications

  • The Scene Graph
  • QML Profiler


Day 2

Review and Solution of Lab 1
Model/View
  • Model/View Concepts
  • Showing Simple Data
  • Custom Models
  • Proxy Models
  • Delegates
  • Tree Models
Multithreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives
  • QtConcurrent
C++/QML Layer
  • Layered Design
  • Exporting QPainter based GUI Classes
  • Exporting Scene Graph GUI classes
  • Defining Custom Property Types
  • Qt Serial Bus C++ Classes

Day 3

Testing
  • QTest Framework in QML
    • Overview
    • Adding a Test Suite
    • Implementing a Test
    • Add a Testing Main()
    • Running the Test
    • Simulating GUI Events
    • Mocking C++ Classes with QML
    • SignalSpy
  • Design for Testability
  • Notes on Google Test Framework and Qt

Additional Topics
  • Animations
  • QML Charts
  • QML Canvas
  • Particles
  • OpenGL and QML
  • Intro to Qt 3D

 

< Back to full list of training

Effective QML

Dates:
Location: Houston, TX
Early Bird Pricing: $1695
Regular Price: $1995

Course Description

 

This 3-day course approaches common issues inherent to Qt/QML development. We cover a wide-range of advanced topics such as keyboard focus, gestures, virtual keyboard, unit-testing, profiling, rendering; and provide helpful design patterns and debugging tips. The target audience is the intermediate QML developer.

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 QML experience

Day 1

User Input

  • Keyboard Navigation and Focus
  • Input Focus
    • Focus Order
    • Focus property
    • Active Focus
    • FocusScope
  • Virtual Keyboard
  • Handling Keyboard Input
    • Key-Specific Handlers
    • All Keys Handler
    • Key Event Propagation
    • Event Propagation is Convenient
  • Multi-Touch
    • Common Multi-Touch Gestures
    • Handling Overlapping Touch Areas

Dynamic Creation of Items

  • Creating Items Dynamically
    • Procedural Method
    • Declarative Method
  • Procedural Creation
  • Procedural/Declarative Creation
  • Declarative Creation
  • Creating Multiple Items
  • Repeaters

Debugging and Profiling QML Applications

  • The Scene Graph
  • QML Profiler


Day 2

Review and Solution of Lab 1
Model/View
  • Model/View Concepts
  • Showing Simple Data
  • Custom Models
  • Proxy Models
  • Delegates
  • Tree Models
Multithreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives
  • QtConcurrent
C++/QML Layer
  • Layered Design
  • Exporting QPainter based GUI Classes
  • Exporting Scene Graph GUI classes
  • Defining Custom Property Types
  • Qt Serial Bus C++ Classes

Day 3

Testing
  • QTest Framework in QML
    • Overview
    • Adding a Test Suite
    • Implementing a Test
    • Add a Testing Main()
    • Running the Test
    • Simulating GUI Events
    • Mocking C++ Classes with QML
    • SignalSpy
  • Design for Testability
  • Notes on Google Test Framework and Qt

Additional Topics
  • Animations
  • QML Charts
  • QML Canvas
  • Particles
  • OpenGL and QML
  • Intro to Qt 3D

 

< Back to full list of training

Effective QML

Dates:
Location: Bedford, MA
Early Bird Pricing: $1695
Regular Price: $1995

Course Description

 

This 3-day course approaches common issues inherent to Qt/QML development. We cover a wide-range of advanced topics such as keyboard focus, gestures, virtual keyboard, unit-testing, profiling, rendering; and provide helpful design patterns and debugging tips. The target audience is the intermediate QML developer.

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 QML experience

Day 1

User Input

  • Keyboard Navigation and Focus
  • Input Focus
    • Focus Order
    • Focus property
    • Active Focus
    • FocusScope
  • Virtual Keyboard
  • Handling Keyboard Input
    • Key-Specific Handlers
    • All Keys Handler
    • Key Event Propagation
    • Event Propagation is Convenient
  • Multi-Touch
    • Common Multi-Touch Gestures
    • Handling Overlapping Touch Areas

Dynamic Creation of Items

  • Creating Items Dynamically
    • Procedural Method
    • Declarative Method
  • Procedural Creation
  • Procedural/Declarative Creation
  • Declarative Creation
  • Creating Multiple Items
  • Repeaters

Debugging and Profiling QML Applications

  • The Scene Graph
  • QML Profiler


Day 2

Review and Solution of Lab 1
Model/View
  • Model/View Concepts
  • Showing Simple Data
  • Custom Models
  • Proxy Models
  • Delegates
  • Tree Models
Multithreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives
  • QtConcurrent
C++/QML Layer
  • Layered Design
  • Exporting QPainter based GUI Classes
  • Exporting Scene Graph GUI classes
  • Defining Custom Property Types
  • Qt Serial Bus C++ Classes

Day 3

Testing
  • QTest Framework in QML
    • Overview
    • Adding a Test Suite
    • Implementing a Test
    • Add a Testing Main()
    • Running the Test
    • Simulating GUI Events
    • Mocking C++ Classes with QML
    • SignalSpy
  • Design for Testability
  • Notes on Google Test Framework and Qt

Additional Topics
  • Animations
  • QML Charts
  • QML Canvas
  • Particles
  • OpenGL and QML
  • Intro to Qt 3D

 

< Back to full list of training

Effective QML

Dates:
Location: Denver, CO
Early Bird Pricing: $1695
Regular Price: $1995

Course Description

 

This 3-day course approaches common issues inherent to Qt/QML development. We cover a wide-range of advanced topics such as keyboard focus, gestures, virtual keyboard, unit-testing, profiling, rendering; and provide helpful design patterns and debugging tips. The target audience is the intermediate QML developer.

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 QML experience

Day 1

User Input

  • Keyboard Navigation and Focus
  • Input Focus
    • Focus Order
    • Focus property
    • Active Focus
    • FocusScope
  • Virtual Keyboard
  • Handling Keyboard Input
    • Key-Specific Handlers
    • All Keys Handler
    • Key Event Propagation
    • Event Propagation is Convenient
  • Multi-Touch
    • Common Multi-Touch Gestures
    • Handling Overlapping Touch Areas

Dynamic Creation of Items

  • Creating Items Dynamically
    • Procedural Method
    • Declarative Method
  • Procedural Creation
  • Procedural/Declarative Creation
  • Declarative Creation
  • Creating Multiple Items
  • Repeaters

Debugging and Profiling QML Applications

  • The Scene Graph
  • QML Profiler


Day 2

Review and Solution of Lab 1
Model/View
  • Model/View Concepts
  • Showing Simple Data
  • Custom Models
  • Proxy Models
  • Delegates
  • Tree Models
Multithreaded Programming
  • Qt Multithreading
  • Thread Synchronization and Primitives
  • QtConcurrent
C++/QML Layer
  • Layered Design
  • Exporting QPainter based GUI Classes
  • Exporting Scene Graph GUI classes
  • Defining Custom Property Types
  • Qt Serial Bus C++ Classes

Day 3

Testing
  • QTest Framework in QML
    • Overview
    • Adding a Test Suite
    • Implementing a Test
    • Add a Testing Main()
    • Running the Test
    • Simulating GUI Events
    • Mocking C++ Classes with QML
    • SignalSpy
  • Design for Testability
  • Notes on Google Test Framework and Qt

Additional Topics
  • Animations
  • QML Charts
  • QML Canvas
  • Particles
  • OpenGL and QML
  • Intro to Qt 3D

 

< Back to full list of training

An Introduction to Qt3D

Qt3D is a new Qt module that provides support for 2D and 3D rendering. It also provides a generic framework for supporting simulations that go beyond just rendering, and can include features like physics, audio, collision detection, artificial intelligence.