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











