Formation Qt 5

Réf : PHYTEC-5170

  • Durée : 4 jours
  • Sessions : intra-entreprise
  • Plates-formes: MS Windows / Linux Dekstop
  • Adaptation de contenu sur demande

Formation Qt 5

La formation Qt 5 aborde les techniques de développement d’applications graphiques, réseau et multitâche, en utilisant la technologie Objet C++ du framework Qt 5.

  • Maîtriser la technologie Qt 5.15 LTS et son déploiement dans vos applications sous OS MS Windows et GNU/Linux Desktop
  • Maîtriser et mettre en oeuvre les mécanismes de la programmation C++ d’interfaces, graphiques d’application, multitâche,de gestion d’E/S standard et réseaux.

Notre formation Qt 5 est particulièrement adaptée aux développeurs débutants ayant quelques notions de programmation Objet, confrontés aux problèmes de développement d'applications Objet C++.

L’offre Qt
• Le framework Qt 5 : version commerciale et contribution open source
• Les versions Qt 5.9, Qt 5.12 et Qt 5.15
• Les outils de développement Qt 5 : Qt-Creator, Qt-Designer, Qt Linguist et Qt Assistant
• Rappel sur les concepts Objets et programmation C++
• Particularités liées à la gestion mémoire sous Qt et Object parent
• Notions de QMetaClass : Les propriétés, l'instrospection ...
• Concept de signaux et slots

Programmation des interfaces graphiques
• Architecture d'une application Qt 5,
• Modules QtCore, QtWidget
• Classe QDialog, modalité et Boîtes de dialogue standards
• QWidget et Qt Designer
• Notion de layout et feuille de style

Travaux pratiques
• Construction d’applications de type QDialog sous environnement Qt Creator
• Initiation à la création d’interface et de Widget avec Qt-Designer

Mise en oeuvre d'un SDK Yocto Qt 5.15 LTS
• Installation du SDK Qt 5.15 sur poste de developpement
• Parametrage du Kit de déploiement et gestion de ses projets (App et Librairies) sous Qt Creator
• Compilation de projet avec CMake

Travaux pratiques
• Compilation et débogage d'un projet sous QtCreator

Introduction aux applications fenêtre
• Classe QMainWindows
• Gestion des menus et barre de menu
• Traitement des QAction
• Interface multidocuments/vues

Travaux pratiques
• Réalisation d’applications fenêtre de types SDI et MDI
• Mise en oeuvre de sa propre librairie sous Qt 5.15

Applications fenêtre Qt 5
• Presentation de données sur interface graphique : Notion de Model/Vue et QTableModel
• API 2D et Drawing sous Qt 5
• QGraphicsScene et QGraphicsItem
• Gestion des annimations 2D

Travaux pratiques
• Réalisation d’une application cliente base de données SQL
• Réalisation d’application d'affichage graphique 2D

Chaines, Classes Containers flux et sérialisation d'objets
• QString
• QLocale et internationnalisation des applications Qt 5 avec Qt Linguist
• Gestion du système de fichiers
• QStreamData, QStreamText, méthode de sérialisation d’objects
• Gestion des réglages de l'application via QSettings
• QtXML : introduction au support XML (SAX et DOM)

Classes Containers, collections et sérialisation d'objets
• QVariant
• Vector, Lists et Maps
• Méthode de sérialisation d’objects
• QFuture et QConcurent, parallélisation optimisée des traitements de données

Travaux pratiques
• Exercices de manipulation de collections, traitement et sérialisation de données

Programmation réseau et bus de terrain Qt 5
• Module QtNetwork
• QSocketUDP et QSocketTCP client et Serveur
• QSctpServer (Stream Control Transmission Protocol)
• Support SSL et QHstsPolicy
• Modules QtSerialBus et QtSerialPort sous Qt 5.15 LTS : Port serie et Bus Can

Travaux pratiques
• Mise en oeuvre d'une application client/serveur ModbusTCP/IP 

Programmation multimedia sous Qt 5.9 LTS
• Support Qt 5.15 Audio et video : QMediaPlayer QMediaRecorder
• Support Qt 5.15 Caméra capture : QCamera
• Qt Multimedia Widgets

Programmation multitâche sous Qt 5
• Affinité de thread et boucle d’événement
• Classes QThread, QEvent, QSemaphore, QMutex ...
• QProcess : Inter-Process Communication
• QStateMachine

Travaux pratiques
• Réalisation d’une application multitâche d'acquision d'E/S Serial bus
• Mise en oeuvre d'une application multitache de capture video et traitement d'image via librairie openCV sous  Qt 5.15 LTS