Accueil    Formations    Informatique    Langages et développement    Langage C++    Librairie C++ Qt5 - Initiation

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Objectifs pédagogiques / Compétences visées

  • Développer une application en C++ via la librairie Qt5
  • Identifier les différents types définis par Qt5
  • Utiliser Qt Creator.

Niveau requis

Savoir développer en C++.

Public concerné

Développeurs informatiques en C++ / Qt.

Programme

Présentation

Histoire de Qt

  • L'histoire de Qt
  • Qt de sociétés en sociétés
  • Par le passé : une jungle de produits
  • Aujourd'hui : un seul environnement

Rappels sur C++

  • Définition de classe
  • CPP associé
  • Parfois les deux en un
  • Encapsulation
  • Initialisation de variables

Qt Creator

Prise en main

  • Ouverture de projets / modèles
  • Projets Quick et autres modèles
  • Le mode console (Linux)
  • Barre des tâches

L'aide

  • Qt assistant intégré
  • L'onglet d'aide
  • Aide autre
  • Quelques conseils pour lire une page d'aide

Aide Freenode

  • L'aide sur IRC / Freenode
  • L'aide par IRC
  • Logiciels IRC
  • Exemple de canal / liste des canaux
  • IRC : Présentation du réseau Freenode

Usages

  • Freenode : NickServ
  • Quelques règles de bon sens
  • Pastebin / Imagebin
  • Les canaux Freenode spécialisés C++ / Qt

Utilisation

Edition de texte

  • Caractéristiques de l'éditeur
  • Quelques raccourcis clavier

Les fichiers en présence

  • Les différents fichiers d'un projet
  • Fichiers mainwindow.h / mainwindow.cpp / mainwindow.ui / moc_mainwindow.cpp / Makefile

Fichiers .pro

  • Détails de qmake
  • Gestion de la compilation

Objets Qt

Classes de base

  • Les principales classes
  • QCoreApplication / QApplication

Classes présentes dans Designer

  • Présentation de la partie Designer
  • QMainWindow / Qmenu
  • Les objets d'une interface

QLineEdit

  • Barre de sélection de mode et layout
  • Mode Buddy
  • Layout et les spacers
  • Splitter
  • QtDesigner (pour aller plus loin)

Slots et signaux

  • En pratique
  • Raccourcis Designer
  • Signaux avec arguments
  • Cas de disconnect
  • Déclaration de signaux / émission d'un signal
  • Nouvelles notations du connect en Qt5

Classes Qt

Les types de base

  • Les chaînes QString
  • Méthodes principales de QString
  • QDebug / QList / QStringList / QVariant

Classes QMap, QDialog, QMessageBox, QWidget, QFileDialog

  • QMap et QHash
  • QFile QDir QFileInfo
  • QDialog
  • Importance du "this"
  • QMessageBox / QFileDialog

Classes QRessources, QSettings

  • QResources
  • Utilisation d'une ressource
  • QFont / QSettings

QRegExp

  • Présentation
  • Caractères
  • Exemples
  • Ensembles
  • Captures
  • QRegExp : expressions régulières

Classes évoluées

Bases de données

  • Bases de données compatibles Qt
  • Intérêt
  • Notions de langage SQL
  • QSqlDatabase / SqlQuery
  • Facilités QSqlQuery

MVC (Modèle Vue Contrôleur)

  • Modèle MVC QSqlModel
  • Récupération des informations du modèle
  • Les vues
  • QSortFilterProxyModel
  • Les éléments équivalents

Plus loin avec les MVC

  • Quelques points à savoir sur le MVC
  • Construire son propre modèle
  • Le paramètre "role"
  • Les delegates

QNetWork

  • QNetWorkAccessManager
  • Exemple de traitement d'un fichier reçu
  • Suivre les liens
  • QTcpServer

Debug

Présentation

  • Débugage (méthodes et pas à pas)
  • Poser un point d'arrêt
  • Inspecter le programme

Point d'arrêt

  • Aller plus loin sur le Point d'arrêt
  • GDB : point d'arrêt
  • "Break" avec liste de commandes
  • Autres points d'arrêts

Debuguer via un core dump

  • Debug après plantage : core dump
  • Tuning de génération du core
  • Debug Core Qt

Debuguer à distance

  • Debug croisé
  • Installation sur l'équipement distant
  • Mise en route sur l'équipement host
  • Débug croisé à partir de Qt Creator

Images

Exemple avec l'éditeur de texte

  • Exemple de dérivation de classe
  • Mise en oeuvre
  • Evènements
  • Définitions
  • QPaintEvent
  • Evènements souris / clavier

QPainter

  • Présentation de QPainter
  • Les directives graphiques de QPainter
  • Crayon (QPen)
  • Pinceau (QBrush)
  • Police (QFont) et coordonnées
  • Opération de transformation

Les images

  • Généralité
  • Les classes d'images
  • Conversions d'un type à l'autre
  • Lectures / écritures aux formats d'images
  • Exemple de création de fichiers Images

QGraphicsScene

  • Présentation
  • QGraphicsProxyWidget
  • Utilisation à partir d'un QGraphicsView
  • Coordonnées sur une scène

Divers

Classes et casts

  • Extension un mode full screen
  • Les casts en C++ / en Qt
  • Les pointeurs intelligents en Qt

Feuille de style, animation et timer

  • Feuille de style et exemples
  • QAbstractAnimation
  • Animation d'un objet
  • Groupement d'animation
  • QTimer

Processus et Thread

  • QProcess
  • QThread
  • Mécanisme QThread
  • Méthode QObjet relatives aux "threads"

QObject

  • La classe QMetaMethod
  • La classe metaObject
  • Les "properties"
  • La classe QObject
  • QObject et signal
  • Méthode QObjet relatives aux "threads"

Modalités d’évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Choisissez la modalité souhaitée pour vous inscrire :

Votre société a besoin d'une offre personnalisée ? Contactez-nous

Testez vos connaissances

Nos quizz vous guident dans le choix de formation.
Évaluez votre niveau de pré-requis pour découvrir la formation faite pour vous.

Accédez au test de connaissance

Faites évoluer vos compétences

Complétez votre formation

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.

Contactez-nous