Développer avec Qt
Description
Le langage C++ offre de nombreuses possibilités pour mettre en place des applications. Cependant il ne permet de mettre au point facilement des IHM, d'accèder aux bases de données ... Dans ce cas, on va devoir passer des librairies ou frameworks externes. Un des frameworks C++ les plus utilisé actuellement est Qt qui est mis au point par Nokia.
Méthodes pédagogiques
Formation avec un minimum de 50% de travaux pratiques. La session alterne les présentations théoriques avec les exercices en groupe ou individuels. Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).
Participants
Toutes personnes souhaitant découvrir Qt.
Pré requis
- La connaissance du langage C++ est nécessaire
Programme
Présentation de Qt
Présentation des origines du langage, des différentes façon d'utiliser Qt. Présentation des autres librairies graphiques.
- Historique du langage
- Les différentes possibilités d’utilisation
- Les autres librairies graphiques existantes
Les différents types de projets
Présentation des différents types de projets et de leurs utilisations, en passant par le logiciel Qt Creator.
- Présentation des différents types de projet avec QT
- Présentation de Qt Creator
- La structure de base d’une application a base d’IHM
Le modèle MVC avec Qt
Rappel sur le modèle MVC et s mise en place au sein de Qt.
- Présentation du modèle MVC
- Le modèle MVC dans Qt
Les différents composants graphiques
Présentation des composants graphiques de Qt et de leur utilisation.
- Les composants de base de l’IHM (QMainWindow, QFrame, QLabel …)
- La gestion du positionnement des composants
- Les boites de dialogue (QDialog)
- Les menus (QMenu)
- Modèles prédéfinis et personnalisés
- outils de conception visuelle de Qt (Qt Designer …)
La gestion des événements
Présentation de la mise en place des principes de base de l'héritage.
- Notions de signal et slot
- Déclaration de signaux et de slots
- Installer des filtres d’événement
- Accéder à l’application pendant un traitement lourd (timer et hasPendingEvents())
Les éléments importants d’un projet
Présentation des éléments constitutifs d'un projet.
- Le fichier ‘pro’
- Les fichiers de conception graphique (ui)
- Les fichiers de gestion d’internationalisation (ts et qm)
- Les types de bases du langage (qint, qfloat …)
- La compilation avec qmake
- La classe QObject
Utilisation de XML avec Qt
Rappels sur le langage XML et son utilisation avec Qt.
- Un rappel sur XML
- Les parsers DOM et SAX
- Parsing de documents XML en utilisant Qt
Le système de plugin de Qt
Présentation du système de plugin.
- Comprendre ce que sont les plugins avec Qt
- différentes classes de plugin (QStylePlugin …)
- Les éléments nécessaire à la mise en place d’un plugin pour Qt
- Mise au point d’application gérant des plug-ins
L'internationalisation
Mise en place de l'internationalisation des applications.
- Rappel sur Unicode
- L'objet QTranslator
- Mise en place de l’internationalisation dans l’application
- Qt Linguist