Q1Embedded GUIs with Qt
Embedded GUIs with Qt
|
Objectives
|
||||||||||||
- Printed course material (in English)
- One Linux PC for two trainees.
- One target platform (i.MX6 Sabre or PandaBoard ES) for two trainees
- Good knowledge of C++ language
- Any embedded systems engineer or technician with the above prerequisites.
- The prerequisites indicated above are assessed before the training by the technical supervision of the traineein his company, or by the trainee himself in the exceptional case of an individual trainee.
- Trainee progress is assessed in two different ways, depending on the course:
- For courses lending themselves to practical exercises, the results of the exercises are checked by the trainer while, if necessary, helping trainees to carry them out by providing additional details.
- Quizzes are offered at the end of sections that do not include practical exercises to verifythat the trainees have assimilated the points presented
- At the end of the training, each trainee receives a certificate attesting that they have successfully completed the course.
- In the event of a problem, discovered during the course, due to a lack of prerequisites by the trainee a different or additional training is offered to them, generally to reinforce their prerequisites,in agreement with their company manager if applicable.
Course Outline
- History
- Versions
- Licenses
- Components
- Qt Quick
- Hello world application
- Compiling and cross-compiling a Qt application
- The main mechanisms of Qt
- MOC (Meta Object Compiler)
- Main loop
- Signals and slots
- Introspection
- Asynchronous calls
- Creation of a Qt application on Linux
- Creation of Qt projects
- Compiling
- Main classes
- Base classes
- Main widgets
- Utilities
- The development tools for Qt
- QT Designer
- QtCreator
- Qmake
| Exercise: | Hello world application | |
- Basic widgets
- Labels, buttons, …
- Layouts
- Dialogs
- Custom dialogs
- Standard dialogs
| Exercise: | Writing an application combining various widgets | |
| Exercise: | Writing a custom dialog | |
- Threading model
- Launching a worker thread
- Synchronization
- Queuing work to the GUI thread
- Timers
| Exercise: | Writing a multi-threaded application | |
- 2D drawing
- Handling mouse, touch screen and keyboard events
| Exercise: | Moving an image on screen | |
- Model/View concept
- Model/View widget vs Standard Widget
- Standard models
- Writing a custom model
- Views
| Exercise: | Using a QListView | |
- Low-level graphism
- Frame buffer
- Open GL ES and EGL
- X Server
- Wayland
- Qt platform plugins
- EGLFS
- LinuxFB
- XCB (X server)
- Wayland
- Low-level input subsystem
- Input drivers
- Tslib
- Multi-touch protocol
- Configuring input in Qt
- Cross-compiling and installing Qt
- Build system
- Main options
| Exercise: | cross-compiling and installing Qt5 on an embedded board | |
- Presentation of Open GL
- Various Open GL versions
- Base concepts
- Notion of state in OpenGL
- Vertices and Triangles
- Transformations
- Drawing
- Textures
- Shaders
- OpenGL and OpenGL/ES
- Drawing in OpenGL
- Vertices and index arrays
- Drawing items
- Projections
- Viewpoints
- Transformation matrixes
- Loading and initialization
- Translations and rotations
- Save and restore (Matrix stack)
- OpenGL shaders
- OpenGL Shading Language (GLSL)
- Vertex shaders
- Fragment shaders
- Applying transformations
- OpenGL rendering model
- Surfaces
- Rendering operators
- Offscreen rendering
- OpenGL in Qt 5
- Raw Opengl with Qt OpenGL module (QGLWidget class)
- Qt wrappers above OpenGL ES of Qt GUI module (QOpenGLContext)
| Exercise: | Rotating cube | |
- Multimedia in Linux
- Gstreamer
- Multimedia in Qt 5
- QtMulimedia module
- Audio, Video Camera, MediaPlayer and Radio
| Exercise: | Playing a video file | |
- QML
- Elements and properties
- Javascript
- Main elements and properties
- User input, state, model and views, …
- Interactions between C++ and QML
| Exercise: | Hello world application with Qt Quick | |
More
To book a training session or for more information, please contact us on info@ac6-training.com.
Registrations are accepted till one week before the start date for scheduled classes. For late registrations, please consult us.
You can also fill and send us the registration form
This course can be provided either remotely, in our Paris training center or worldwide on your premises.
Scheduled classes are confirmed as soon as there is two confirmed bookings. Bookings are accepted until 1 week before the course start.
Last update of course schedule: 23 February 2026
Booking one of our trainings is subject to our General Terms of Sales
Related Courses
D0
Linux user mode programming
D1
Embedded Linux with Buildroot and Yocto
D1S
Embedded Linux with Ac6 System Workbench
D1Y
Embedded Linux with Yocto
D3
Linux Drivers
D4
Real-time Linux
D5
Embedded GUI
D7
Power Management in Linux Drivers
D8
USB Linux Drivers
Y1
Yocto Project Development
Y12
Comprehensive Yocto Project Usage
Y2
Yocto Project Expert