qt5
qt4
c
c++
qtcreator
signaux
slots
qtdesigner
qcompleter
qstring
qlist,
qstringlist
qvariant
qdate
qmap,
qhash
qdialog
fenêtre
ui
qmessagebox
qfiledialog
qdebug
qresources
qsettings
qregexp
Initiation à Qt
Présentation
- Description : Qt est une librairie C++ permettant le développement d'applications focntionnant sur Windows, MacOsx,Linux, Android, MacOsX et cartes linux embarquées.
- Objectifs :
- Savoir développer une application en C++ via la librairie Qt5
- Connaître les différents types définis par Qt5
- Savoir utiliser QtCreator
Public
- Public :
- Développeurs informatiques en C++/Qt
- Prérequis : Savoir développer en C++
Organisation matérielle
- Durée : 3 jours (21 heures)
- Horaires : 9h00-12h00 13h00-17h00
- Rythme : Continue ou fragmentée
- Mode : Inter ou intra entreprise
- Lieu : Sur site ou en centre de formation
Environnement
- Moyens pédagogiques : Document de support de cours en PDF (323 pages) + document PDF correction d'exercices (26 exercices)
- Moyens techniques : Équipements sous Windows,Linux ou MacOsX
- Moyen humains : Développeur diplômé troisième cycle plus de dix ans d'expérience en développement et formation
Garanties qualités
- Contrôle de la bonne exécution : Fiche d'appréciation remplie par les stagiaires
- Méthode d'évaluation : Fiche d'évaluation
Programme
Présentation
Histoire de Qt
- L'histoire de cute Qt
- Qt de sociétés en sociétés
- Par le passé : une jungle de produits
- Aujourd'hui : un seul environnement
Rappels C++
- C++ Rappel : définition de classe
- C++ : CPP associé
- C++ : parfois les deux en un
- Rappels C++ Encapsulation
- Initialisation de variables
QtCreator
Prise en main
- QtCreator
- Ouverture de projet / Modèles
- Projets Quick et autres modèles
- Le mode console (Linux)
- Barre des tâches
L'aide
- 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
Édition de texte
- Éditeur de texte
- Caractéristiques de l'éditeur
- Quelques raccourcis clavier
Les fichiers en présence
- Les différents fichiers d'un projet
- Fichier mainwindow.h
- Fichier mainwindow.cpp
- Fichier mainwindow.ui
- fichier moc_mainwindow.cpp
- Fichier Makefile
fichier.pro
- qmake
- qmake détail
- Gestion de la compilation
Objets Qt
Classes de base
- Les principales classes
- QCoreApplication
- QApplication
Classes présentes dans le Designer
- Présentation de la partie designer
- 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 plus loin
Slots et signaux
- Slots et signaux
- En pratique
- Raccourcis Designer
- Signaux avec arguments
- Cas de disconnect
- Déclaration de Signaux
- Emission d'un signal
- Nouvelles notation du connect en Qt5
Classes Qt
Les types de base
- Les chaînes QString
- QString méthodes principales
- qDebug
- QList
- QStringList
- QVariant
Classes QMap,QDialog, QMessageBox, QWidget, QFileDialog
- QMap et QHash
- QFile QDir QFileInfo
- QDialog
- De l'importance du this
- QMessageBox
- QFileDialog
Classes QRessources, QSettings
- QResources
- Utilisation d'une ressource
- QFont
- QSettings
- QSettings (suite)
QRegexp
- Présentation
- Caractères
- Premiers exemples
- Exemples,Autres 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 lanqage SQL
- QSqlDatabase
- SqlQuery
- Facilités QSQLQuery
Modèle Vue Controleur
- Modèle MVC QSqlModel
- Récupération des informations du modèle
- Les Views
- QSortFilterProxyModel
- Les équivalents élément
Plus loin avec les MVC
- Quelques points à savoir sur le modèle vue contrôleur
- 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 de débugage
- Débugage pas à pas
- Poser un point d'arrêt
- Inspecter le programme
Point d'arrêt
- Point d'arrêt : plus loin
- 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 QtCreator
Images
Exemple éditeur de texte
- Exemple de dérivation de classe
- Mise en oeuvre
- Évènements
- Définitions
- QPaintEvent
- Événements souris
- Événement clavier
QPainter
- Présentation 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 Images
- Conversions d'un type à l'autre
- Lectures écritures aux formats d'image
- Exemple de création de fichiers Image
GraphicsScene
- Présentation
- QGraphicsProxyWidget
- Utilisation à partir d'un QGraphicsView
- Coordonnées sur une scène
Divers
Classes et cast
- Extension un mode full screen
- Les casts en C++
- Les Cast en Qt
- Les pointeurs intelligents en Qt
Feuille de style, animation et timer
- Feuille de style
- Exemples de feuilles de style
- 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
Dates et tarifs
Inter entreprises
- Tarif : 1500 HT
- Dates : Consultez moi
Intra entreprise
- Région parisienne : 3900 HT
- Autres zones : 3900 HT + Frais de déplacement
- Dates : Consultez moi
Centres de formation partenaires
- Dates : Consultez moi