Passer commande via notre portail client

Partager cet article ...Print this pageEmail this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInPin on PinterestShare on TumblrDigg this
Librairie C++ Qt5 et QML – Fonctionnalités avancées
CPP-QT5PE / LI-DEV-509

OBJECTIFS PEDAGOGIQUES

A la fin du cours, le stagiaire sera capable de :
- Développer des applications pouvant tourner sur Windows, Mac OS, Linux, Android et les systèmes embarqués / temps réel.

PUBLIC

PRE–REQUIS

Développeurs de logiciels. Indispensables :
- Avoir développé en C++. Avoir suivi la formation « Librairie C++ Qt5 et QML -Initiation » ou connaître les bases de Qt Core, QML et Qt Quick

CONTENU

Rappels de Qt / QML
L’intégration entre C++ / Qt et QML / JavaScript et ses limites
La boucle d’évènement de Qt et son impact sur Qt Quick
Problèmes fréquemment rencontrés
QQmlListProperty
Threading
Types non reconnus…Sujets avancés sur Qt Quick
Création de composants visuels en C++
Avec une base Qt Scene Graph : la solution idéale mais limitée
Avec une base QPainter : la solution de compatibilité
Le composant hybride C++ / QML : une solution largement répandue

Intégrer des images générées ou ne provenant pas d’un fichier local
Les « images provider »
Les composants spécialisés
Texture
Dessin procédural
FBO OpenGL…
Les moyens pour se passer de C++ dans certains cas
SVG généré à la volée
Canvas…

Optimisation des performances
Les pratiques permettant d’améliorer naturellement les performances du code
Le « proxying » des bindings pour éviter les goulets d’étranglement
L’utilisation de C++ à la place de JavaScript pour les traitements lourds
La résolution des noms en QML : l’épineux problème du « scoping »

Performances graphiques : éléments à prendre en compte
Les objets graphiques superflus
Les mauvaises utilisations dans les « delegates » d’une vue MVC
Les effets de bords des mauvaises utilisations de composants basiques
Image
Text…

Techniques pour rendre le code plus compréhensible
La programmation orientée flux de données
Différences avec l’orienté objet classique / naïf
Application des principes en QML et C++
Implications sur l’architecture globale

La séparation C++ / QML
Bien placer la séparation entre les deux langages
Eviter que le code QML soit pollué par de mauvaises utilisations de C++
Simplifier le code côté C++ pour qu’il ne soit pas un frein à son utilisation

Eviter les erreurs courantes
Rendre le code QML sémantiquement plus clair
Fuir les cas où JavaScript peut produire des erreurs silencieuses
Limiter au maximum la redondance dans le code, notamment entre C++ et QML

La création de composants personnalisés : l’importance du cloisonnement
Empêcher les bugs potentiels par intrusion externe dans le composant
Rendre un composant réellement réutilisable et portable pour un gain de temps
La spécialisation en cascade : un bon moyen de coder proprement et simplement avec QML

Questions restantes : une fois que la technique pure est réglée
Ces problématiques qui apparaissent en fin de projet, lorsque le produit doit être diffusé
La création de « vrais » modules de plug-ins QML
Le déploiement sur les plateformes sans système de package (Windows…)
La dynamique traduction de l’interface (Qt Linguist)

SESSIONS PROGRAMMEES

Librairie C++ Qt5 – Fonctionnalités avancées

VALIDATION

Exercices de validation au cours de la formation

PEDAGOGIE

Exposés – Cas pratiques – Synthèse

INTERVENANTS

Consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par M2i Formation.

MODALITES PRATIQUES

Durée : 3 jours (21 heures) avec 7 heures par jour
Prix stagiaire : 1 535,00 € TTC
Horaires : 09h00 / 17h30

Durée: