Cursus
Formation PYTHON Mise en oeuvre d’IHM avec Qt et PySide6
Objectifs
Identifier les concepts généraux de PySide/Qt.
Employer la gestion des barres de contrôle.
Définir et utiliser les layouts Qt.
Gérer les événements avec Slots/Signaux.
Utiliser divers widgets complémentaires.
Implémenter l'architecture MVC en Qt.
Expérimenter les aspects avancés de Qt.
Dessiner et animer avec le widget Canvas.
Concevoir et implémenter des widgets personnalisés.
Pré-requis
Participants
Programme de formation
CONCEPTS GÉNÉRAUX
-
Introduction
- Les différents bindings Python/Qt (PySide6 et PyQt6)
- Installation des librairies Qt et PySide6
- Utilisation des IDE Eclipse/PyDev, PyCharm et QtCreator
- Utilisation des documentations en ligne
-
Principes généraux de PySide6
- Notion d'application Qt
- Intégration des technologies HTML et CSS dans Qt
- Quelques composants (QLabel, QPushButton, QLineBox...)
- Les layouts Qt
- Gestion des évènements
-
Les classes non graphiques de Qt
GESTION DES BARRES DE CONTRÔLE
-
Définition d'actions Qt
-
Mise en oeuvre d'une barre de menus
-
Mise en oeuvre de barres d'outils
-
Mise en oeuvre d'une barre de statuts
-
Gestion des menus contextuels
GESTION DES LAYOUTS QT
-
Introduction au concept de layout
-
Utilisation des classes QHBoxLayout et QVBoxLayout
-
Utilisation de la classe QGridLayout
-
Utilisation de la classe QFormLayout
TRAITEMENT DES ÉVÈNEMENTS
-
Les évènements Qt
-
Présentation du paradigme Slots/Signaux
-
Les décorateurs PySide6 pour la gestion des slots (@Slot)
-
Définir vos propres signaux
QUELQUES WIDGETS COMPLÉMENTAIRES
-
Les widgets simples
- La classe QCheckBox
- La classe QRadioButton
- La classe Qslider
- La classe QProgressBar
- La classe Qspinner
- La classe QComboBox
- La classe QLCDNumber
-
Les conteneurs
- La classe QGroupBox
- La classe QDockWidget
- La classe Qsplitter
- La classe QTabWidget
- La classe QMdiArea
-
Les boîtes de dialogues
- La classe QMessageBox
- La classe QInputBox
- La classe QFileDialog
- La classe QColorDialog
- Les boîtes de dialogue personnalisées et la classe Qdialog
ARCHITECTURE MVC EN QT
-
Introduction à l'architecture MVC
- Concepts principaux
-
Mise en oeuvre via Qt
- Mise en oeuvre de tables de données
- Mise en oeuvre d'arborescences de données
- Mise en oeuvre de listes de données
QUELQUES ASPECTS AVANCÉS
-
Mise en oeuvre d'une architecture MDI (Multiple Document Interface)
- Le conteneur QMdiArea
- Les stratégies de positionnement d'un QMdiArea
- Gestion des sous fenêtres (QMdiSubWindow)
-
Fonctions de tracé avancées
-
La gestion des styles via Qt
- Changer le thème utilisé par cotre application Qt
- Utilisation d'une feuille de styles CSS
-
Les classes non graphiques de Qt
- La gestion des Threads
- La gestion du système de fichiers
-
Internationalisation d'une application PySide6
UTILISATION DU QT DESIGNER
-
Présentation du Qt Designer
- Prise en main de l'outil
- Notion de promotion de Widget
-
Génération du code Python
- Le compilateur pyside_uic
- Intégration des codes générés dans votre application
INTÉGRATION QT/MATPLOTLIB
-
Qu'est-ce que MatPlotLib ?
-
Intégration de MatPlotLib dans votre interface
-
Gestion des évènements MatPlotLib