Formation Qt 6 LTS

Réf : PHYTEC-5174

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

Cette formation vous intéresse ?

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

  • Maîtriser la technologie Qt 6 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.

Cette formation Qt 6 LTS est particulièrement adaptée aux développeurs débutants ayant quelques notions de programmation Objet, confrontés aux problèmatiques de développement d’applications Objet en C++.

L’offre Qt 6 LTS

• Le framework Qt 6 : version commerciale et contribution open source
• Les apports de la version Qt 6.5 LTS à la version Qt 5.15 LTS
• Les outils de développement Qt 6 : 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 QObject parent
• Notions de QMetaClass : Les propriétés, l’instrospection ...
• Concept de signaux et slots

Travaux pratiques

• Parametrage du Kit de déploiement sous Qt Creator
• Compilation et débogage d’un projet sous QtCreator avec CMake

Programmation des interfaces graphiques

• Architecture d’une application Qt 6 C++,
• Modules QtCore, QtWidget
• Classe QDialog, modalité et Boîtes de dialogue standards
• QWidget et Qt Designer
• Notion de layout et feuille de style
• Notion de State Machine et Programmation des IHM sous Qt 6
• API 2D et Drawing sous Qt 6

Travaux pratiques

• Initiation à la création d’interface et de Widget avec Qt-Designer
• Mise en oeuvre d'une IHM controlée par State Machine
• Construction d’applications de type QDialog sous environnement Qt Creator
• Mise en oeuvre de sa propre librairie d'applicative sous Qt 6 CMake
• Création de son propre CustomButton dérivé d'un QPushButton

 

Chaines, Classes Containers flux et sérialisation d’objets

• QString
• QLocale et internationnalisation des applications Qt 6 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

• Classe QVariant
• Méthode de sérialisation d’objects
• Les Classes containers sous Qt 6 : QList, QSet, QQueue, QMap...
• Les itérateurs "STL-Style" et les "Java-Style"  
• QFuture et QConcurent, parallélisation optimisée des traitements de données dans les collections sous Qt 6

Travaux pratiques

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

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

Applications fenêtre Qt 6

• Presentation de données sur interface graphique : Notion de Model/Vue et QTableModel
• Binding de données XML et SQL
• 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

Programmation multitâche sous Qt 6

• Affinité de thread et boucle d’événement
• Classes QThread, notion de Worker
• QEvent, QSemaphore, QMutex, QWaitCondition
• QProcess : Inter-Process Communication

Programmation réseau et bus de terrain Qt 6

• Module QtNetwork
• QSocketUDP et QSocketTCP client et Serveur
• QTCPServer (Stream Control Transmission Protocol)
• Support SSL et QHstsPolicy
• Modules QtSerialBus et QtSerialPort sous Qt 6.5 LTS : Port serie et Bus Can

Travaux pratiques

• Mise en oeuvre d’une application d’acquision d’E/S multitâche client/serveur ModbusTCP/IP

Programmation multimedia sous Qt 6.5 LTS

• Manipulation Image sous Qt : QPixmap, QImage, QPicture
• Support Qt 6 Audio et video : QMediaPlayer QMediaRecorder, QMovie
• Support Qt 6 Caméra capture :  Qt Multimedia Widgets et QCamera

Travaux pratiques

• Mise en oeuvre d’une application multitache de capture video et de traitement d’image via la librairie openCV 4.5 sous Qt 6.5 LTS

Introduction au support QDeclarative sous Qt 6

 • Intégration de fenêtre QML dans une application C++ sous Qt 6
• Mise en ouvre des QQuickWidget, QQuickView, QQuickTextDocument et QQuickWindows dans une QMainWindow

Travaux pratiques

• Réalisation d’application d'affichage graphique de scene QML dans une application Qt 6 C++ QMainwindow classique