Formation Yocto SDK Qt 5
Réf : PHYTEC-5173
- Durée : 5 jours
- Sessions : intra-entreprise
- Plate-forme: i.MX 8
- Adaptation de contenu sur demande
La formation Yocto SDK Qt5 aborde les techniques de développement d’applications graphiques, réseau et multitâche, en utilisant la technologie Objet C++ du framework Qt5.
- Maîtriser la technologie Qt 5.15 son déploiement dans vos applications sous Linux Yocto
- 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 sur systèmes embarqués Linux Yocto.
Cette formation Qt5 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++ sous Linux embarqué.
L’offre Qt
• Les versions SDK Qt 5.9, Qt 5.12 et Qt 5.15 et version de NSP Yocto
• Integration Qt sous Yocto et génération du SDK Qt5 sous Yocto
• Configuration spécifique support QtWayland sous iMX8
• 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 QObject parent
• Notions de QMetaClass : Les propriétés, l’instrospection ...
Programmation des interfaces graphiques
• Architecture d’une application Qt 5 Tactile et support Touchscreen sous 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
• Notion de State Machine et Programmation des IHM sous Qt 6
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'une IHM controlée par State Machine
Mise en oeuvre d’un SDK Yocto Qt 5
• Installation du SDK Qt 5.15 sur poste de developpement
• Parametrage du Kit de déploiement sous Qt Creator pour cible iMX8 sous Yocto
Travaux pratiques
• Debogage distant sur cible Phytec i.MX 8 sous QtCreator
Applications fenêtre Qt5
• Presentation de données sur interface graphique : Notion de Model/Vue et QTableModel
• API 2D et Drawing sous Qt5
• 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 Qt5 avec Qt Linguist
• Gestion du système de fichiers QIODevice QDir, QFile
• QVariant, QStreamData, QStreamText, méthode de sérialisation d’objets
• Gestion des réglages de l’application via QSettings
• QtXML : introduction au support XML (SAX et DOM)
Programmation multitâche sous Qt5
• Affinité de thread et boucle d’événement
• Classes QThread, QEvent, QSemaphore, QMutex ...
• QProcess : Inter-Process Communication
Programmation réseau et bus de terrain Qt5
• Module QtNetwork
• QSocketUDP et QSocketTCP client et Serveur
• QStcpServer (Stream Control Transmission Protocol)
Travaux pratiques
• Mise en oeuvre d’une application client/serveur ModbusTCP/IP entre un PC Linux et plate-forme Linux Yocto Qt 5.15 i.MX8
Programmation réseau et bus de terrain Qt5 (suite)
• Modules QtSerialBus et QtSerialPort sous Qt 5.15 : Port série et Bus Can
Travaux pratiques
• Réalisation d’une application multitâche d’acquision d’E/S CAN bus sur cible Linux Yocto Qt 5.15 iMX8
Customisation d’une Image Yocto Qt5
• Syntaxe Bitbake Yocto et recette minimale de construction de paquetage
• Customisation de recettes d’image Linux Yocto et génération du SDK Qt5 associé
Travaux pratiques
• Écriture d’une recette simple Yocto pour l’intégration de votre application Qt5 à l’image filesystem finale.
• Analyse d’exemples de paquetages et gestion des mises à jour unitaires sous Yocto sur cible Phytec Linux Yocto Qt 5.15 i.MX8
Customisation d’une Image Yocto Qt5 (suite)
• Ajout des étapes de compilation et notion de classes qmake5
• Cross compilation Qt5 avec CMake sous Yocto
• Syntaxe bitbake avancée
Travaux pratiques
• File system read only et partitionnement du système de fichier sous Yocto
• Mise en oeuvre d’un QTimer dans une application tactile d’acquision de GPIO et de Key Button sur cible Phytec i.MX8 sous QtCreator
• Gestion des droits d’accés aux périphériques linux et règles udev
• Recette d’ajout de script de démarrage avec initd
• Recette d’ajout de service de démarrage sous Systemd