Formation Qt 5 C++/QML

formation Qt5

Intitulé : Formation Qt 5 C++/QML
Durée 
: 5 jours (35 heures)
Session : intra-entreprise
Plate-forme : PC et/ou SBC PHYTEC-Mira i.MX6Q
Référence produit : PHYTEC-5171
Tarif : Devis

Avec adaptation de contenu

Télécharger programme pdf

Télécharger le programme en pdf : Formation Qt 5 C++/QML

Objectifs

La formation Qt 5 C++/QML 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 les langages C++ et QML de programmation d'interface utilisateur tactile
   sous Qt 5
• Maîtriser les concepts de la technologie Qt C++ et ceux de Quick 2
• Maîtriser Qt Designer et le SDK Qt 5
• Maîtriser Qt Quik Designer et l'environnement de mise au point QML Debogger
• Mettre en oeuvre des composants graphiques dynamiques complexes
• Développer des applications Qt Quick 2 tactiles en QML
• Concevoir une architecture logicielle avec des composants Qt Quick 2 et des
   objets C++ Qt 5 à base de plugins
• Développer des applications communiquantes sous Qt 5 et Qt Quick
• Développer des applications multitâches sous Qt 5 et Qt Quick
• Développer des applications Hybrides QML/C++

Pré-requis

La formation Qt 5 C++/QML est particulièrement est destinée aux développeurs ayant de bonnes notions de programmation Objet, confrontés aux problèmes de développement d’applications graphiques, tactiles, mutlitâche et communiquantes en utilisant la technologie hybride Qt5 C++/QML avec l'environnement Quick 2 sous Qt 5.9 LTS

1ère journée

Introduction à la technologie Qt5

L’offre Qt
• 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
• QMetaClass : Les propriétés, l'instrospection ...

Programmation des interfaces graphiques
• Architecture d'une application Qt 5,
• Modules QtCore et QtGUI
• Classe QDialog, modalité et Boîtes de dialogue standards
• QWidget et Qt Designer
• Connexions signaux et slots
• Notion de layout et feuille de style
• QLocale et internationnalisation des applications Qt 5 avec Qt Linguist

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

2ème journée

Techniques avancées d'implémentation des collections C++ sous Qt5

Classes Containers, collections et sérialisation d'objets
• QString
• Gestion du système de fichiers
• QStreamData, QStreamText, méthode de sérialisation d’objects
• QLocale et internationnalisation des applications Qt 5 avec Qt Linguist
• Gestion des réglages de l'application via QSettings
• QtXML : introduction au support XML (SAX et DOM)
• QVariant
• Vector, Lists et Maps
• Méthode de sérialisation d’objects
• QFuture et QConcurent, parallélisation optimisée des traitements de données de collection

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

3ème journée

Introduction à la Programmation Réseau sous Qt5

Module QtNetwork sous Qt 5
• QSocket TCP et UDP
• Classe QWebSocket

Programmation Multitâche sous Qt 5
• Affinité de thread et boucle d’événement
• Classe QThread, QEvent, Sémaphore et Mutex
• QTimer
• QProcess

Travaux pratiques
• Réalisation d’une application réseau multitâche client serveur sous Qt entre PC et une cible SBC-Mira i.MX 6
• Réalisation d’une application multitâche d'acquisition de données asynchrone sous Qt

Introduction à QtQuick 2 Toolkit
• Éléments graphiques
• Élément texte
• Layout « ancrage »
• Bindings
• Handlers

4ème journée

Interaction avec l'utilisateur sous Qt Quick
• Interaction à la souris
• Interaction tactile
• Interaction au clavier

Travaux pratiques
• Prise en main du Toolkit QML
• Premières applications QML tactiles

Les Composants
Les Animations


Travaux pratiques

• Mise en oeuvre d'applications graphiques QML animées simples

Présentation des données sous Qt Quick
• Ordonner des éléments graphiques
• Modèles de données simples
• Les vues

Travaux pratiques
• Mise en oeuvre d'applications de présentation/saisie de données simples
• Mise en oeuvre d'applications de graphiques multi-interfaces/multi-controles

5ème journée

Intégrer QML avec C++
• Exporter des objets C++ en QML
• Exporter des classes en QML
◦ Exporter des classes non graphiques
◦ Exporter des classes graphiques

Travaux pratiques
• Mise en oeuvre d'une application graphique QML de présentation de données sérialisées dans un fichier au
  travers une collection C++ Qt
• Usage et Analyse des traces du QML Profiler

Programmation avancée des Interfaces graphiques sous Qt5

Intégration de fenêtre QML dans une application C++ sous Qt 5

• Classe QMainWindows
• Gestion des menus et barre de menu
• Traitement des QAction
• Interface multidocuments/vues
• 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 5 C++ QMainwindow classique