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