Cette formation vous permet d'apprendre les techniques de développement d'applications graphiques modernes en utilisant la librairie Qt 5 et les outils associés.
Détails de la formation
Méthodes et outils pédagogiques
Nombre de stagiaires limité pour plus de proximité et de meilleurs échanges
Un poste de travail par stagiaire équipé selon les besoins de la formation
Alternance apports théoriques, exercices et échanges
Au début de la formation, le formateur veillera à la bonne cohérence des attentes de l'apprenant et du programme prévu. Il prendra soin d'évaluer les attentes de chaque participant. Le formateur s'appuiera sur pédagogie active pour que les apprenants soient acteurs de la formation et découvrent les solutions après avoir été confronté aux problématiques imaginées par le formateur à partir des contraintes exprimées par les apprenants.
Objectifs de la formation
Mettre en place l'environnement de développement Qt
Identifier les types et fonctions de base de la librairie Qt
Mettre en œuvre les menus et actions de navigation
Intercepter les événements utilisateurs
Créer et synchroniser des processus d'exécution
Construire l'application avec le processus de " build "
Méthodes d'évaluation
Evaluation en amont de la formation pour Proposer le programme qui prendra en compte le niveau de départ et vos objectifs opérationnels.
Cela nous permets d’identifier clairement votre besoin pour sélectionner le formateur et mettre en place la solution pédagogique adaptée. Cette évaluation se fait soit via notre plateforme en ligne soit via un audit téléphonique
Tout au long de la formation, le formateur prendra soin de valider la montée en compétence progressive de chaque apprenant. Durant les parties de travaux pratiques, le formateur restera disponible à tous moments pour aider l’apprenant en cas de difficultés. Chaque TP sera clos par une correction.
A la fin de la formation, délivrance d’une attestation remise à chaque stagiaire
Les plus
Grande expérience terrain du formateur qui permet d'échanger sur son retour d'expérience et d'illustrer les propos d'exemples réels
Pré-requis
Cette formation s'adresse aux développeurs C++ qui ont suivi les formations "Programmation objet en C++" ou qui ont les connaissances équivalentes.
Modalités d'enseignement
En présentiel
En distanciel
Public cible
Tous publics
Programme
1
Présentation de la librairie Qt
- Historique de Qt et de ses version
- L'architecture de la solution Qt : QtCore, QtGui, QtWidgets, QtSql, ?
- Qt, une API multiplateformes
2
Le modèle de programmation objet de Qt
- Présentation des types/fonctions/macros de base (QtGlobal)
- Gestion des chaînes de caractères en Qt
- La classe mère QObject
- Topographie des principales classes Qt
- La gestion de la mémoire sous Qt
- La réflexion avec Qt : QMetaObject et QMetaClassInfo
- Les classes de collections propres à Qt et les liens avec l'architecture de la STL
- Gestion des propriétés
- Travaux graphiques : utilisation de quelques classes QT non graphiques (collection, ?)
3
Architecture d'un projet Qt
- Le fichier de build et l'outil qmake
- Les fichiers de d'interface graphique (.ui)
- Les fichiers de code Qt
- Les fichiers propre à l'internationalisation
- Travaux pratiques : génération d'un projet de type « Hello World »
4
Introduction au développement d'applications graphiques
- Mise en œuvre d'une interface graphique et utilisation de la classe QMainWindow
- Utilisation de quelques widgets simples
- Utilisation des stratégies de positionnement de Widget
- Mise en œuvre de barres de menu, de barres d'outils et de barres de statuts
- Utilisation du mécanisme de docking (QDockWidget)
- Développement de boîtes de dialogue personnalisées (QDialog)
- Travaux pratiques : une interface graphique est progressivement enrichie en y intégrant les différents concepts présentés
5
La gestion des événements en Qt
- Le modèle de slots/signaux
- La gestion du Focus
- Travaux pratiques : ajout de gestionnaires d'événement sur notre interface graphique
6
Prise en main de l'outil Qt Designer
- Le contenu d'un fichier .ui
- Génération d'une interface via Qt Designer en mode autonome
- Intégration des outils Qt dans Eclipse/CDT
- Travaux pratiques : manipulation du designer pour produire une interface graphique
7
Utilisation du modèle MVC dans une application Qt
- Présentation du modèle MVC (Model/View/Controller
- Les MVCs intégrés à Qt
- Mise en œuvre du MVC sur un composant propre au projet
- Travaux pratiques : mise en œuvre d'un MVC dans le cadre d'un jeu d'échec (vues texte et 2D)
- Utilisation d'un modèle liés à une base de données relationnelle
- Travaux pratiques : réalisation d'un affichage d'une table de base de données
8
Aspects complémentaires
- Mise en œuvre de thèmes graphiques et les liens avec CSS
- Gestion du drag'n drop
- Utilisations de conteneurs
- Développement de widgets personnalisés
- Gestion de l'internationalisation, de la localisation, d'unicode et de l'outils Qt Linguist
- Gestion de la sérialisation en Qt (classe QDataStream)
9
Programmation multi-tâches en Qt
- Pourquoi faire de la programmation multi-tâches ?
- La notion de Thread en Qt (classe QThread)
- Synchroniser les accès concurrents
- Problématiques synchronisations/performances
- Utilisation de timers
- Pourquoi faire de la programmation multi-tâches ?
- La notion de Thread en Qt (classe QThread)
- Synchroniser les accès concurrents
- Problématiques synchronisations/performances
- Utilisation de timers