Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Développer une application en C++ via la librairie Qt5
- Identifier les différents types définis par Qt5
- Utiliser Qt Creator.
Prérequis
Savoir développer en C++.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testPublic concerné
Développeurs informatiques en C++ / Qt.
Programme
Jour 1
Présentation
Histoire de Qt
- L'histoire de Cute Qt
- Qt de sociétés en sociétés
- Par le passé : une jungle de produits
- Aujourd'hui : un seul environnement
Prise en main QtCreator
- QtCreator
- Ouverture de projet / Modèles
- Projets Quick et autres modèles
- Le mode console (Linux)
- Barre des tâches
Edition de texte
- Editeur de texte
- Caractéristiques de l'éditeur
- Quelques raccourcis clavier
Utilisation
Les fichiers en présence
- Les différents fichiers d'un projet
- Fichier mainwindow.h
- Fichier mainwindow.cpp
- Fichier mainwindow.ui
- Fichier moc_mainwindow.cpp
- Fichier Makefile
Fichier.pro
- qmake
- qmake détail
- Gestion de la compilation
Objets Qt
Classes de base
- Les principales classes
- QCoreApplication
- QApplication
Classes présentes dans le Designer
- Présentation de la partie designer
- Designer
- QMainWindow
- QMenu
- Les objets d'une interface
QLineEdit
- Barre de sélection de mode et layout
- Mode buddy
- Layout et les spacers
- Splitter
- QtDesigner plus loin
Slots et signaux
- En pratique
- Raccourcis Designer
- Méthode ConnectSlotsByName
- Signaux avec arguments
- Cas de disconnect
- Déclaration de signaux
- Emission d'un signal
Jour 2
Classes Qt
Les types de base
- Les chaînes QString
- QString : méthodes principales
- QDebug
- QList
- QStringList
- QVariant
Classes QMap, QDialog, QMessageBox, QWidget, QFileDialog
- QMap et QHash
- QDir et QFileInfo
- QDialog
- De l'importance du "this"
- QDialog via Ui
- QMessageBox
- QFileDialog
- Ouverture d'un QWidget
Classes QResources, QSettings
- QResources
- Utilisation d'une ressource
- QSettings
QRegularExpression
- Présentation
- Caractères
- Premiers exemples
- Ensembles
- QRegularExpression : expressions régulières
- La fonction Match
Classes évoluées
Bases de données
- Bases de données compatibles Qt
- Intérêt
- Notions de langage SQL
- QSqlDatabase
- SqlQuery
- Facilités QSqlQuery
Modèle Vue Controleur (MVC)
- Modèle MVC QSqlModel
- Récupération des informations du modèle
- QSortFilterProxyModel
- Divers paramétrages
- Les views
- Les éléments équivalents
Jour 3
Debug
Présentation
- Débugage
- Méthodes de débugage
- Débugage pas à pas
Point d'arrêt
- Poser un point d'arrêt
- Inspecter le programme
- Point d'arrêt : plus loin
- GDB : point d'arrêt
- Break avec liste de commandes
Evénements
Exemple éditeur de texte
- Exemple de dérivation de classe
- Mise en oeuvre
- Evénements
- Définitions
- QPaintEvent
- Evénements souris et clavier
QPainter
- Présentation QPainter
- Les directives graphiques de QPainter
- Crayon (QPen)
- Pinceau (QBrush)
- Police (QFont) et Coordonnées
- Opération de transformation
Les images
- Généralités
- Les classes Images
- Conversions d'un type à l'autre
- Lectures / écritures aux formats d'image
- Exemple de création de fichiers Image
Divers
Dérivation de classe
- Exemple de dérivation de classe
- Mise en oeuvre
- Extension un mode "full screen"
Processus
- QProcess
Exemples de travaux pratiques (à titre indicatif)
- Vérification de l'installation de l'environnement
- Créer et exécuter un premier programme
- Mise en oeuvre d'une interface minimale avec un QLineEdit
- Action sur un QLineEdit
- Application Layout
- Découverte des slots et signaux
- Déclaration de slots
- Message console
- QCompleter
- Utilisation de QDate
- QHash
- Affichage d'une image en ressource
- QSettings, QDialog et QMenu
- Expressions régulières
- Insertion en base de données
- SQLModel
- Liste ordonnée ListView
- Liste ordonnée ListWidget
- Editeur de texte
- Gestion du double click
- Production dynamique d'images
- Dérivation de classe Qt
- QProcess
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.