Librairie C++ Qt5 - Initiation
Qualiopi
Objectifs pédagogiques
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.
Programme de la formation
Présentation
Histoire de Qt
- L'histoire de Qt
- Qt de sociétés en sociétés
- Par le passé : une jungle de produits
- Aujourd'hui : un seul environnement
Rappels sur C++
- Définition de classe
- CPP associé
- Parfois les deux en un
- Encapsulation
- Initialisation de variables
Qt Creator
Prise en main
- Ouverture de projets / modèles
- Projets Quick et autres modèles
- Le mode console (Linux)
- Barre des tâches
L'aide
- Qt assistant intégré
- L'onglet d'aide
- Aide autre
- Quelques conseils pour lire une page d'aide
Aide Freenode
- L'aide sur IRC / Freenode
- L'aide par IRC
- Logiciels IRC
- Exemple de canal / liste des canaux
- IRC : Présentation du réseau Freenode
Usages
- Freenode : NickServ
- Quelques règles de bon sens
- Pastebin / Imagebin
- Les canaux Freenode spécialisés C++ / Qt
Utilisation
Edition de texte
- Caractéristiques de l'éditeur
- Quelques raccourcis clavier
Les fichiers en présence
- Les différents fichiers d'un projet
- Fichiers mainwindow.h / mainwindow.cpp / mainwindow.ui / moc_mainwindow.cpp / Makefile
Fichiers .pro
- Détails de qmake
- Gestion de la compilation
Objets Qt
Classes de base
- Les principales classes
- QCoreApplication / QApplication
Classes présentes dans Designer
- Présentation de la partie 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 (pour aller plus loin)
Slots et signaux
- En pratique
- Raccourcis Designer
- Signaux avec arguments
- Cas de disconnect
- Déclaration de signaux / émission d'un signal
- Nouvelles notations du connect en Qt5
Classes Qt
Les types de base
- Les chaînes QString
- Méthodes principales de QString
- QDebug / QList / QStringList / QVariant
Classes QMap, QDialog, QMessageBox, QWidget, QFileDialog
- QMap et QHash
- QFile QDir QFileInfo
- QDialog
- Importance du "this"
- QMessageBox / QFileDialog
Classes QRessources, QSettings
- QResources
- Utilisation d'une ressource
- QFont / QSettings
QRegExp
- Présentation
- Caractères
- Exemples
- Ensembles
- Captures
- QRegExp : expressions régulières
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
MVC (Modèle Vue Contrôleur)
- Modèle MVC QSqlModel
- Récupération des informations du modèle
- Les vues
- QSortFilterProxyModel
- Les éléments équivalents
Plus loin avec les MVC
- Quelques points à savoir sur le MVC
- Construire son propre modèle
- Le paramètre "role"
- Les delegates
QNetWork
- QNetWorkAccessManager
- Exemple de traitement d'un fichier reçu
- Suivre les liens
- QTcpServer
Debug
Présentation
- Débugage (méthodes et pas à pas)
- Poser un point d'arrêt
- Inspecter le programme
Point d'arrêt
- Aller plus loin sur le Point d'arrêt
- GDB : point d'arrêt
- "Break" avec liste de commandes
- Autres points d'arrêts
Debuguer via un core dump
- Debug après plantage : core dump
- Tuning de génération du core
- Debug Core Qt
Debuguer à distance
- Debug croisé
- Installation sur l'équipement distant
- Mise en route sur l'équipement host
- Débug croisé à partir de Qt Creator
Images
Exemple avec l'éditeur de texte
- Exemple de dérivation de classe
- Mise en oeuvre
- Evènements
- Définitions
- QPaintEvent
- Evènements souris / clavier
QPainter
- Présentation de QPainter
- Les directives graphiques de QPainter
- Crayon (QPen)
- Pinceau (QBrush)
- Police (QFont) et coordonnées
- Opération de transformation
Les images
- Généralité
- Les classes d'images
- Conversions d'un type à l'autre
- Lectures / écritures aux formats d'images
- Exemple de création de fichiers Images
QGraphicsScene
- Présentation
- QGraphicsProxyWidget
- Utilisation à partir d'un QGraphicsView
- Coordonnées sur une scène
Divers
Classes et casts
- Extension un mode full screen
- Les casts en C++ / en Qt
- Les pointeurs intelligents en Qt
Feuille de style, animation et timer
- Feuille de style et exemples
- QAbstractAnimation
- Animation d'un objet
- Groupement d'animation
- QTimer
Processus et Thread
- QProcess
- QThread
- Mécanisme QThread
- Méthode QObjet relatives aux "threads"
QObject
- La classe QMetaMethod
- La classe metaObject
- Les "properties"
- La classe QObject
- QObject et signal
- Méthode QObjet relatives aux "threads"
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
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

Proposé par
M2I
"Un leadership dans le domaine de la formation"
À partir de
2010 €
Durée
21h en 3 jours
Localisation
Partout en France

Proposé par
M2I
À partir de
2010 €
