Formation QML Avancé : Conception d’applications modernes
2390€ HT / personne |
3 jours (21 heures) |
Présentation
Notre formation QML avancé vous enseignera la création d’applications fluides et modernes en conservant un code concis et simplement maintenable.
Durant cette formation, vous apprendrez à exposer des types C++ à QML mais également à manipuler les propriétés pour vous permettre de concevoir une application répondant aux attentes de vos utilisateurs.
Vous pourrez assimiler les concepts avancés de QML comme les différents types de listes (primitif, QObject, variants…), la gestion des signaux, le regroupement des appels avec un proxy C++ ou encore les évènements.
Par ailleurs, nous évoquerons un aspect complexe de cette technologie : le multithreading avec Qt Concurrent. Ce cours vous permettra d’optimiser les performances de vos applications via le profilage C++ et les tests unitaires Qt Quick Test.
Cette formation QML avancé se basera sur la dernière version de Qt, Qt 6.7.
Objectifs
- Exposer des types C++ à QML
- Savoir gérer les connexions et les événements Qt.
- Utiliser les concepts avancés de QML
- Optimiser les performances de votre application
Public visé
Développeur d’application.
Pré-requis
Une expérience significative sur QT et QML.
Pré-requis techniques
- QT creator installé
Programme de notre formation QML Avancé
Introduction
Interactions C++/QML
- Exposer des types C++ à QML
- Rappels sur le système de meta types
- Propriétés
- Conversions de type
- Méthodes
- Gestion de la mémoire
- Comportement par défaut
- Comportement personnalisé
- Données en liste
- Liste de type primitif : QList<QString>
- Liste de type QObject : QQmlListProperty<MyType>
- Liste de variants : QVariantList
- Modèle en liste : QAbstractListModel
- Cas particulier du ListModel QML
- Créer et gérer des signaux en QML
- Déclarer un signal en QML
- Les différentes manières de traiter un signal
- Accéder à l’arborescence QML depuis le C++
- Cas simple : trouver un élément par objectName ou par type
- Cas avancé : trouver un élément selon ses propriétés
- Headers privés des composants QML
Fonctionnement des connexions et des évènements Qt
- Évènements Qt
- Création et envoi
- Propagation
- Déboguer les connexions
- Lister les connexions (API publique)
- Lister les connexions (API privée)
- Pour les tests unitaires : QSignalSpy
- Exemple – les KeyEvents en QML
Utilisation avancée des modèles
- Rappels
- TP – Historique d’appels groupé
- Cas simple : groupage en QML
- Cas avancé : modèle proxy C++
Multithreading haut niveau (Qt Concurrent)
- Exécuter des tâches en parallèle
- Contrôler le nombre de threads parallèles
Optimisation des performances
- Profilage C++ : comment utiliser l’outil callgrind de la suite valgrind
- Profilage QML : se connecter à un programme distant, interpréter les résultats
- Charger les composants complexes à la demande (lazy-loading)
- Éviter des redessiner sur tout l’écran (over-drawing)
- Éviter les bindings complexes et le positionnement manuel
- Limiter les conversions de type
- Réutiliser ses composants au maximum
- Éviter d’écrire une propriété dans une boucle
- Compromis RAM / CPU : créer une réserve d’items à l’avance (pooling)
Découverte des tests unitaires QML (Qt Quick Test)
Session de Questions / Réponses
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Nos Formateurs Référents
Témoignages
Les + : programme & formateur
Les – : ras
En synthèse : J’ai indiqué « insatisfaisant » pour « moyens mis en œuvre (salle de cours) », car la salle virtuelle @ https://app.goto.com/ n’a pas bien fonctionné en ce qui concerne l’audio (décalages , absence totale de son à partir du 2ème jour de formation). Nous avons donc procédé par un gmeet perso. A part ça, tout OK.
Afficher tous les témoignages
Les + : programme & formateur
Les – : ras
En synthèse : J’ai indiqué « insatisfaisant » pour « moyens mis en œuvre (salle de cours) », car la salle virtuelle @ https://app.goto.com/ n’a pas bien fonctionné en ce qui concerne l’audio (décalages , absence totale de son à partir du 2ème jour de formation). Nous avons donc procédé par un gmeet perso. A part ça, tout OK.
Je recommande la formation
Les + : complètement adapté aux besoins et la qualité du formateur
Les – : dense
Les + : Totalement en phase avec nos besoins, du vrai sur mesure.
Formateur très clair pour expliquer des concepts complexes.
Les + : bonne interaction formation / participant
Les – : trop de programme à saisir quand on ne maitrise pas les raccourcis de QtCreator
Je recommande la formation
Les + : Le formateur
Je souhaite suivre : QML
Noter la formation
2390€ HT / personne |
3 jours (21 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS