Formations Python
Détails :
Mise en oeuvre d'IHM avec Qt et PySide6
Durée :
3 Jours
Objectif :
Cette formation présente la librairie PySide6 : celle-ci permet de mettre en oeuvre des interfaces graphiques via le langage Python en s'appuyant sur Qt. Les objectifs de cette formation sont :
  • Connaître les différences entre PyQt6 et PySide6
  • Savoir mettre en oeuvre une IHM complexe
  • Comprendre l'architecture MVC de Qt
  • Savoir utiliser les outils offerts par PySide6 (QtDesigner, pyside_uic,...)

La formation sera agrémentée d'un grand nombre de travaux pratiques permettant de développer une application graphique de visualisation du contenu d'une base de données (SQLite3).
Prérequis :
Les connaissances préalables du langage Python et des concepts de programmation orientée objet sont requis pour suivre cette formation.
Public :
Développeurs Python en charge de la réalisation d'outils graphiques en Python.
Autres Informations :
Devis :
Si vous souhaitez être contacté et obtenir plus d'informations sur cette formation veuillez remplir notre formulaire de mise en relation.
>
Cursus :
Mise en oeuvre d'IHM avec Qt et PySide6
    Concepts généraux
    • Introduction
      • Les différents bindings Python/Qt : PySide6 et PyQt6
      • Installation des librairies Qt et PySide6
      • Utilisation de l'IDE Eclipse/PyDev ou PyCharm
      • 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
      • La 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 status
    • 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 PySide2 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 boites 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 votre 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 PySide2

    Utilisation du Qt Designer
    • Présentation du 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