Formation Embedded GUIs with Qt | Ac6 Training

ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Systèmes d'Exploitation Linux Embedded GUIs with Qt
Q1Embedded GUIs with Qt
Embedded GUIs with Qt

Objectives

  • Installing Qt 5 and the needed components on an embedded platform
  • Writing Qt applications
  • Discovering Qt key components
  • Understanding the proper use of threads in Qt applications
Labs are conducted on target boards, that can be:
    Quad Cortex/A9-based "Sabre" boards from NXP, with Lauterbach JTAG probes.
    Dual Cortex/A9-based "Panda ES" boards from Texas Instruments, with Lauterbach JTAG probes.
    Atmel ARM9-based boards, with Lauterbach JTAG probes.
  • 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
  • Cours théorique
    • Support imprimé et PDF (en anglais).
    • Assistance du formateur tout au long de la formation.
  • Activités pratiques (40-50% de la durée)
    • Exemples de code, exercices et solutions.
    • Un PC (un par binôme au-delà de 6 stagiaires) avec carte cible si nécessaire.
  • Machine virtuelle préconfigurée téléchargeable pour refaire les TP après le cours.
  • Chaque session débute par un point avec les stagiaires.
  • Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
  • Les prérequis sont évalués avant la formation.
  • Les progrès sont évalués par le formateur via les exercices pratiques, et par des quizz pour les sections sans exercices.
  • Chaque stagiaire reçoit une attestation de réussite.
  • En cas de prérequis manquant, une formation différente ou complémentaire est proposée.

Plan du cours

  • 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
Plus d'information

Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.

Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter

Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription

Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.

Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.

Dernière mise à jour du plan de cours : 20 mai 2026

L'inscription à nos formations est soumise à nos Conditions Générales de Vente