Jusqu'à -30%, seulement jusqu'au 30/06 :
livres en ligne, vidéos & formations. Cliquez ici
Jusqu'au 30/06 : En cliquant ici, bénéficiez jusqu'à
30% de réduction sur votre panier. Je découvre !
  1. Livres & vidéos
  2. Framework PyQt - Développez vos interfaces graphiques en Python avec PyQt6

Framework PyQt Développez vos interfaces graphiques en Python avec PyQt6

Informations

Livraison possible dès le 16 juin 2025
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-05005-3
  • EAN : 9782409050053
  • Ref. ENI : EIPYQT6

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-05006-0
  • EAN : 9782409050060
  • Ref. ENI : LNEIPYQT6

Les points forts du livre :

  • Une approche complète de la conception d’interfaces graphiques avancées,
  • Une ouverture vers des applications professionnelles et connectées,
  • Des cas concrets illustrant la polyvalence du framework
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 357 pages
  • Parution juin 2025
  • Niveau Confirmé à Expert
  • Parution juin 2025

Ce livre sur le framework PyQt en version 6 (PyQt6) s’adresse aux développeurs qui, possédant déjà une expérience en développement avec le langage Python, souhaitent disposer des connaissances nécessaires et avancées pour concevoir des interfaces graphiques.

De la notion de widget PyQt, en passant par les diverses façons d'agencer et de disposer les éléments d’une interface graphique, ce livre étudie en profondeur l'architecture et la conception d'une application PyQt. L’auteur détaille la gestion des évènements, les styles et les apparences d'une interface, l'interaction avec des bases de données relationnelles, l’intégration d’éléments sonores ou vidéo, la gestion des couches réseau, le multithreading ou encore le développement rapide d’applications avec Qt Designer.

Pour terminer, un chapitre est consacré à des utilisations de PyQt6 qui démontrent tout l'éclectisme du framework : l'affichage de graphiques et de diagrammes de données, le web browsing ou l'animation et la modélisation en 3D grâce à OpenGL.

 

Téléchargements

Avant-propos
  1. Introduction
De Qt à PyQt
  1. À l'origine, le framework Qt
    1. 1. Contexte historique
    2. 2. Qt comme réponse
    3. 3. Philosophie de Qt
  2. Des éléments d'architecture de Qt
    1. 1. Modules principaux
    2. 2. Quelques concepts spécifiques à Qt
    3. 3. Licences, forks et dérivés de Qt
    4. 4. Quelques solutions modernes avec Qt
  3. Les interfaces de liaison : PyQt et le concept de binding de bibliothèques
    1. 1. Binding de bibliothèques
    2. 2. Le cas de PyQt
    3. 3. Les autres bindings relatifs à Qt
    4. 4. Le paradigme induit pour le développeur PyQt
      1. a. Une autre manière de travailler
      2. b. Pourquoi la documentation Qt est indispensable enPyQt
  4. De PyQt5 à PyQt6
    1. 1. Le contexte de cet ouvrage PyQt6
    2. 2. PyQt6
      1. a. La sortie de PyQt6
      2. b. Pourquoi Qt6/PyQt6
    3. 3. Les évolutions de Qt5 à Qt6 (PyQt5 à PyQt6)
      1. a. Refonte des modules
      2. b. Changement des noms de modules en PyQt6
      3. c. Évolutions dans la gestion des types et des énumérations
      4. d. Améliorations des performances et du rendugraphique
      5. e. Refonte du module QtQuick et QML
      6. f. Gestion de l’accessibilité et de l’internationalisation
  5. De PyQt5 à PyQt6, une esquisse de méthodologie
    1. 1. Changements dans les imports
    2. 2. Changements dans les énumérations
    3. 3. Changements dans la gestion des types
    4. 4. Changements dans la gestion des signaux/slots
  6. Conclusion
Notions générales et inventaire des widgets
  1. Notions générales en PyQt
    1. 1. Installer PyQt
      1. a. Installation sur Windows
      2. b. Installation sur macOS
      3. c. Installation sur Linux
      4. d. Vérification de l’installation
    2. 2. Le rôle central de QApplication
    3. 3. QWidget et QMainWindow
    4. 4. L’organisation des widgets et la notion de layout
    5. 5. Signaux et slots
      1. a. Signaux
      2. b. Slots
      3. c. Exemple signal/slot
      4. d. Signaux/slots personnalisés
  2. Inventaire des widgets PyQt
    1. 1. Widget QWidget
    2. 2. Widget QLabel
    3. 3. Widget QLineEdit
    4. 4. Widget QPushButton
    5. 5. Widget QComboBox
    6. 6. Widget QSpinBox
    7. 7. Widgets QCheckBox et QRadioButton
    8. 8. Widget QDateTimeEdit
    9. 9. Widget QProgressBar
    10. 10. Widgets QTextEdit, QPlainTextEdit
Gestion des styles et apparences en PyQt6
  1. Introduction
  2. Manipulation des polices et l'objet QFont
    1. 1. Utilisation de QFont
    2. 2. La question des polices de caractères noninstallées
  3. Manipuler les images en PyQt
    1. 1. Utilisation de QPixmap pour les images
      1. a. Exemple d’usage de QPixmap
      2. b. Plus loin avec QPixmap pour les images
    2. 2. Utilisation de QPixmap pour les icônes
      1. a. Introduction à la gestion des icônes
      2. b. Fonctionnement général de la gestiondes icônes
      3. c. Exemple d’utilisation
  4. Usage des ressources en PyQt
    1. 1. Introduction
    2. 2. Ressources et PyQt6
      1. a. Format d’un fichier QRC
      2. b. Génération du fichier Python deressources
      3. c. Utilisation des ressources dans le code
  5. Les palettes en PyQt
    1. 1. Introduction
    2. 2. Utilisation de QPalette
    3. 3. Tableaux QPalette.ColorGroup et QPalette.ColorRole
      1. a. QPalette.ColorGroup
      2. b. QPalette.ColorRole
  6. Les pinceaux en PyQt
    1. 1. Introduction
    2. 2. Utilisation de QBrush
    3. 3. Tableau des styles de pinceaux disponibles
  7. Gestion des styles en PyQt
    1. 1. Introduction
    2. 2. Première utilisation de QSS
    3. 3. Tableaux des propriétés QSS
  8. Conclusion
Les événements en PyQt6
  1. Introduction
  2. Signal et slot
    1. 1. Introduction
    2. 2. Ajout d’un signal et d’un slot
    3. 3. Autre manière de connecter un signal à unslot
  3. Plus loin dans la gestion d'événements
    1. 1. La transmission de données
    2. 2. Les limitations issues de C++
  4. Développer sa propre gestion d’événements
    1. 1. Introduction
    2. 2. Utilisation de pyqtSignal
    3. 3. Exemple de gestion personnalisée (pyqtSignal)
    4. 4. Passage de paramètres supplémentaires à desslots
      1. a. Utilisation de lambda
      2. b. Utilisation de partial
      3. c. Exemple d’utilisation
  5. Conclusion
Disposition en PyQt/Le modèle MVC
  1. Introduction
  2. Disposition en PyQt
    1. 1. Introduction
    2. 2. QHBoxLayout et QVBoxLayout
      1. a. Présentation
      2. b. Cas pratique avec QHBoxLayout
      3. c. Transposition de l’exemple avec QHBoxLayout
    3. 3. Disposition en grille, QGridLayout
      1. a. Introduction
      2. b. Exemple d’utilisation : créationd’une calculatrice
      3. c. Plus loin avec la fonction addWidget
    4. 4. Disposition en formulaire, QFormLayout
      1. a. Introduction
      2. b. Exemple d’utilisation
    5. 5. Disposition en onglets, QTabWidget
      1. a. Introduction
      2. b. Exemple d’utilisation
    6. 6. QGroupBox
      1. a. Introduction
      2. b. Exemple d’utilisation
    7. 7. QToolBar
      1. a. Introduction
      2. b. Exemple d’utilisation
  3. Modèle-Vue-Contrôleur (MVC) et PyQt
    1. 1. Introduction
    2. 2. Les fondements de Modèle-Vue-Contrôleur(MVC)
      1. a. Le modèle (M)
      2. b. La vue (V)
      3. c. Le contrôleur (C)
      4. d. Exemple dans le cadre d’une application web
    3. 3. Développement d’une application de calculatrice
      1. a. Cahier des charges
      2. b. Développement de la vue
      3. c. Gestion des données avec le modèle
      4. d. Code principal
    4. 4. Apparence écran LCD
    5. 5. Développement d’un éditeur de textesimple
      1. a. Introduction
      2. b. Programmation de l’application
      3. c. Le code complet de l’application Notepad
    6. 6. Développement d’une application d’éditeurde texte enrichi
      1. a. Introduction
      2. b. Programmation de l’application
      3. c. Code global de l’application d’édition
  4. Conclusion
Développement rapide avec Qt Designer
  1. Le développement rapide d'applications
    1. 1. Introduction
    2. 2. Exemples dans d’autres technologies
      1. a. Microsoft Access
      2. b. Ruby on Rails
      3. c. MATLAB
      4. d. Flutter
    3. 3. PyQt6 et le RAD
  2. L'outil Qt Designer
    1. 1. Installation avec l’outil pip
    2. 2. Avec PyQt6-tools
    3. 3. Avec PySide6
    4. 4. Premier lancement de l’outil
  3. Présentation de Qt Designer
    1. 1. Introduction
    2. 2. Les principales sections du logiciel
      1. a. Section Widgets
      2. b. Section Propriétés
      3. c. Section Objet (Object Inspector)
      4. d. Zone principale (Form Editor)
    3. 3. Déroulé de la créationd’une fenêtre
      1. a. Création d’un projet
      2. b. Ajout de widgets
      3. c. Organisation des widgets
    4. 4. Conversion du fichier .ui en Python
      1. a. Utilisation de l’outil pyuic6
      2. b. Chargement direct avec QUiLoader
      3. c. Gestion des événements
      4. d. Utilisation des QSS avec Qt Designer
  4. Conclusion
Les animations en PyQt
  1. Introduction
  2. Premières animations en PyQt
    1. 1. Introduction
    2. 2. Code avant animation
    3. 3. Une première animation géométriqueavec PyQt6
    4. 4. Les limites de l’usage de QPropertyAnimation
      1. a. Héritage obligatoire de QObject
      2. b. Les propriétés éligibles
      3. c. Les types de données supportés
      4. d. Cas particulier : la gestion des couleurs
  3. Thématique couleurs et animation en PyQt
    1. 1. Introduction
    2. 2. Le code explicité
  4. Animations plus élaborées avec QPropertyAnimation
    1. 1. Introduction
    2. 2. Animations et courbes de Bézier
    3. 3. Création et animation d’un objetItalique avec une courbe de Bézier
      1. a. Introduction
      2. b. Définition de la classe Italique
      3. c. Définition de la courbe de Bézier
      4. d. Animation le long de la courbe de Bézier
      5. e. Mise en œuvre finale
  5. Notion de scène graphique en PyQt
    1. 1. Introduction
    2. 2. Exemple d’utilisation
      1. a. Définition de la classe Italique
      2. b. Création de la classe Fenetre
      3. c. Code principal
  6. Conclusion
Gestion et usage des bases de données en PyQt
  1. Introduction
    1. 1. Les bases de données relationnelles
    2. 2. Le système de base de données SQLite
      1. a. Contexte d’utilisation
      2. b. Pourquoi SQLite ? Un choix pragmatique
      3. c. Utilisation de SQLite (avec PyQt)
      4. d. Limites de SQLite
  2. Exemple détaillé PyQt et SQLite
    1. 1. Création de la base de données
    2. 2. Connexion à la base de données
    3. 3. Première insertion de données dansla base de données
    4. 4. Insertion des autres données dans la basede données
    5. 5. Modification de données existantes dans labase de données
    6. 6. Exemple de requête utilisant une jointure
    7. 7. Requête préparée en PyQt
  3. Plus loin avec l'utilisation de QSqlTableModel
    1. 1. Introduction
    2. 2. Exemple d’utilisation
  4. L'utilisation de QSqlRelationalTableModel
    1. 1. Introduction
    2. 2. Exemple d’utilisation
  5. Le mapping de données avec QDataWidgetMapper
    1. 1. Introduction
    2. 2. Exemple d’utilisation
  6. Conclusion
Son et vidéo avec PyQt
  1. Introduction
  2. Le son dans PyQt
    1. 1. Jouer un simple son
    2. 2. Lire et enregistrer un son
      1. a. Introduction
      2. b. Vérification de la présence d’unmicro
    3. 3. Développement d’une application de lectureet d’enregistrement audio
      1. a. Présentation de l’application
      2. b. Développement de l’application
  3. La vidéo avec PyQt
    1. 1. Introduction
    2. 2. Développement de l’application
  4. Conclusion
Réseaux et gestion des couches basses en PyQt
  1. Introduction
  2. PyQt et les sockets
    1. 1. Introduction
    2. 2. L’adressage IP
    3. 3. Protocoles de transmission TCP et UDP
    4. 4. Réalisation d’une messagerie instantanéelocale basée sur UDP
    5. 5. Réalisation d’une messagerie instantanéelocale basée sur TCP
  3. PyQt et les requêtes HTTP
    1. 1. Introduction
    2. 2. Exemples sur la thématique PyQt et HTTP
      1. a. Récupérer le contenu d’une pageweb
      2. b. Une requête POST en PyQt
  4. Conclusion
Le multithreading en PyQt et sujets connexes
  1. Introduction
    1. 1. Contexte du chapitre
    2. 2. Outils PyQt6 pour le multithreading
  2. Utilisation de la classe QTimer
    1. 1. Introduction
    2. 2. Application utilisant QTimer
  3. Le multithreading en PyQt
    1. 1. Introduction
    2. 2. Illustration de l’utilisation de QThread avec PyQt6
    3. 3. Exemple avancé avec QThread
    4. 4. Pool de threads en PyQt
      1. a. Introduction
      2. b. Exemple pédagogique autour de QThreadPool
  4. Conclusion
Usages étendus en PyQt
  1. Introduction
  2. Diagrammes de données en PyQt
    1. 1. Introduction
    2. 2. Exemple de diagramme en PyQt : le pourcentageCPU
  3. Web browsing en PyQt
    1. 1. Introduction
    2. 2. Développement d’un navigateur web
  4. Modélisation 3D en PyQt
    1. 1. Introduction
    2. 2. Modélisation 3D en PyQt
Auteur : Benoît PRIEUR

Benoît PRIEUR

Benoît PRIEUR est ingénieur logiciel pour le compte de sa société basée aux États-Unis, spécialisée en IA, Quantum et Blockchain (Web3). Il est l’auteur de plusieurs livres et contenus vidéos publiés aux Éditions ENI, traitant de sujet variés comme les langages (Rust, C#, OCaml), les frameworks (WPF, PyGame, PyQt, Flask), l’informatique quantique ou encore l’intelligence artificielle (NLP avec Python).

En savoir plus

Découvrir tous ses livres

  • OCaml De la syntaxe de base à la programmation fonctionnelle
  • Traitement automatique du langage naturel avec Python Le NLP avec spaCy et NLTK
  • Pygame Coffret de 2 livres : Développement de jeux vidéo en Python (2e édition)
  • Vulgarisation de l'informatique quantique
  • Pygame Initiez-vous au développement de jeux vidéo en Python (2e édition)
  • Rust Développez des programmes robustes et sécurisés
  • Python, Raspberry Pi et Flask - Données télémétriques et tableaux de bord web Livre avec complément vidéo : Création d'une application web avec Flask
  • Flask Développez vos applications web en Python
  • WPF Développez des applications structurées (MVVM, XAML...) (Nouvelle édition)
  • Python Coffrets de 2 livres : Maîtrisez le NLP avec spaCy et NLTK

Nos nouveautés

voir plus