C / C++ - Développer des applications graphiques en C++ avec Qt 5

Référence : QT5-C-20190827

L'objectif de la formation est de vous présenter la librairie Qt. Cette librairie permet, entre autres, de mettre en œuvre des interfaces graphiques évoluées en C++. Elle permet aussi d'appréhender tout un ensemble de possibilités non graphiques. L'environnement de développement utilisé sera Eclipse/CDT.

Infos pratiques

  • Durée : 5 jours soit 35 heures
  • Population visée : Ouvrier – Employé – Employé qualifié – Cadre – Cadre supérieur
  • Public concerné : Développeurs, analystes programmeurs, chefs de projets.

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • Mettre en œuvre des interfaces graphiques complexes ;
  • Utiliser les différents outils proposés par l'environnement Qt ;
  • Utiliser le processus de " build " d'une application Qt ;
  • Utiliser certains modules " non graphiques " de la librairie Qt

Pré-requis

  • Avoir suivi les formations "Les fondamentaux de la programmation orientée objet en C++ " et "Programmation avancée en C++ ", ou posséder les connaissances et compétences équivalentes

Objectifs opérationnels et contenu de la formation

Présentation de la librairie Qt

  • Petit historique
  • Les différentes techniques de développement proposées
  • Les librairies concurrentes

Les éléments importants d'un projet Qt

  • Le fichier de build et l'outil qmake
  • Les fichiers de conception graphique (.ui)
  • Les fichiers relatifs à la gestion de l'internationalisation
  • Travaux pratiques : Mise en œuvre de notre première interface graphique

Introduction au modèle objet de Qt

  • Présentation des types/fonctions/macros de base (QtGlobal)
  • Présentation du type de base QObject
  • Arborescence d'objets
  • Présentation des types collections
  • Gestion des propriétés
  • Travaux pratiques : Utilisation des collections Qt

Introduction au développement d'applications graphiques

  • Première application graphique " Hello World " (QMainWindow)
  • Présentation de la classe de base QWidget
  • Utilisation des stratégies de placement
  • Utilisation du mécanisme de docking (QDockWidget)
  • Gestion des événements
  • Développement de boites de dialogue personnalisées (QDialog)
  • Gestion du focus
  • Travaux pratiques : Utilisations de différentes classes de Widget

Présentation de l'outil Qt Designer

  • Utilisation en mode autonome
  • Intégration dans l'IDE Eclipse
  • Travaux pratiques : Utilisation du designer d'interfaces

Mise en œuvre du modèle MVC

  • Présentation du modèle MVC
  • Travaux pratiques : Mise en œuvre du MVC

Développement graphique avancé

  • Utilisation des containers graphiques
  • Création de menus
  • Développement d'objets graphiques spécifiques
  • Gestion des styles de présentation
  • Gestion du drag'n drop
  • Travaux pratiques :
    • Utilisation de containers
    • Réalisation d'une classe de Widget
    • Utilisation du drag'n drop

Développement avancé

  • Gestion des interactions entre objets (Signals et Slots)
  • Gestion de l'internationalisation et de l'Unicode
  • Introduction au multithreading
  • Présentation des Timers
  • Gestion de la sérialisation (QDataStream)
  • Travaux pratiques :
    • Développement d'une application Qt multitâches
    • Utilisation de la sérialisation pour persister un modèle de données

Génération et distribution

  • Utilisation poussée de QMake
  • Déploiement d'applications multi-plateformes

Méthodes et moyens

  • Explications théoriques suivies de pratiques guidées puis mises en autonomie
  • 1 vidéoprojecteur par salle
  • 1 ordinateur par stagiaire

Méthodes d’évaluation des acquis

  • Exercices de synthèse et d’évaluation
  • Evaluation de fin de stage

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support papier ou électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB