• Aide
  • Eurêkoi Eurêkoi

Livre

PyQt5 : développez vos interfaces graphiques en Python

Résumé

Un manuel pour acquérir les connaissances avancées en langage Python nécessaires à la conception des interfaces graphiques avec le framework PyQt5 : l'architecture d'une application, la gestion des évènements, la stylisation d'une interface, la gestion des couches réseau, le multithreading et l'intégration d'éléments sonores ou vidéo. Des compléments sont accessibles en ligne. ©Electre 2021


  • Éditeur(s)
  • Date
    • C 2021
  • Notes
    • La couv. porte en plus : "Version en ligne offerte ! pendant 1 an" ; "+ quiz" ; "En téléchargement : le code source" ; "Informatique technique"
    • La4e de couv. porte en plus : "Sur www.editions-eni.fr : le code source des exemples"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (331 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02862-5
  • Indice
  • Quatrième de couverture
    • PyQt5

      Développez vos interfaces graphiques en Python

      Ce livre sur le framework PyQt5 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, la réalisation d'animations, 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 ou encore le multithreading.

      Pour terminer, un chapitre est consacré à des utilisations de PyQt5 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.

      À l'issue de ce livre, le lecteur sera en mesure d'être rapidement opérationnel en développement avec PyQt5.

      Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


  • Tables des matières
      • PyQt5

      • Développez vos interfaces graphiques en Python

      • Édition ENI

      • Chapitre 1
      • Introduction et présentation de PyQt
      • 1. Présentation générale11
      • 1.1 Introduction11
      • 1.2 Présentation de Qt12
      • 1.3 Usage de Qt avec un autre langage que C++13
      • 1.4 Première approche de PyQt13
      • 1.5 Logiciels connexes à PyQt14
      • 1.6 Qui utilise PyQt ?14
      • 1.7 La question de la documentation de PyQt15
      • 2. Installation de PyQt15
      • 2.1 Introduction15
      • 2.2 Installation de PyQt16
      • 2.3 Installation de Qt Designer16
      • 3. Premier exemple en PyQt17
      • 3.1 Introduction17
      • 3.2 Un programme « Hello world »18
      • 3.3 Un programme « Hello world » plus évolué20
      • 4. Conclusion du Chapitre 21
      • Chapitre 2
      • Inventaires des widgets PyQt
      • 1. Introduction23
      • 2. Inventaire des widgets PyQt24
      • 2.1 Widget QWidget24
      • 2.1.1 Propriétés et méthodes de classes24
      • 2.1.2 Les fenêtres QWidget de niveau supérieur30
      • 2.1.3 Les principales propriétés de QWidget30
      • 2.2 Widget QLabel35
      • 2.2.1 Introduction35
      • 2.2.2 Exemple d'utilisation36
      • 2.3 Widget QLineEdit38
      • 2.3.1 Introduction38
      • 2.3.2 Exemple d'utilisation39
      • 2.4 Widget QPushButton40
      • 2.4.1 Introduction40
      • 2.4.2 Utilisation41
      • 2.5 Widget QComboBox45
      • 2.5.1 Introduction45
      • 2.5.2 Utilisation45
      • 2.6 Widget QSpinBox48
      • 2.6.1 Introduction48
      • 2.6.2 Exemple d'utilisation49
      • 2.7 Widget QDateTimeEdit51
      • 2.7.1 Introduction51
      • 2.7.2 Utilisation51
      • 2.7.3 Un mot au sujet de QDate et de QTime52
      • 2.8 Widget QProgressBar53
      • 2.8.1 Introduction53
      • 2.8.2 Exemple d'utilisation54
      • 2.9 Widget QTextEdit56
      • 2.9.1 Introduction56
      • 2.9.2 Exemple d'utilisation56
      • 2.9.3 Un mot sur le widget QPlainTextEdit59
      • Chapitre 3
      • La disposition en PyQt
      • 1. Introduction61
      • 2. Inventaire des widgets de disposition en PyQt62
      • 2.1 QHBoxLayout et QVBoxLayout62
      • 2.1.1 Introduction62
      • 2.1.2 Premier exemple avec QVBoxLayout62
      • 2.1.3 Transposition de l'exemple avec QHBoxLayout64
      • 2.2 QGridLayout65
      • 2.2.1 Introduction65
      • 2.2.2 Exemple d'utilisation65
      • 2.2.3 Plus loin avec la fonction addWidget67
      • 2.3 QFormLayout69
      • 2.3.1 Introduction69
      • 2.3.2 Exemple d'utilisation70
      • 2.4 QTabWidget71
      • 2.4.1 Introduction71
      • 2.4.2 Exemple d'utilisation72
      • 2.5 QGroupBox75
      • 2.5.1 Introduction75
      • 2.5.2 Exemple d'utilisation75
      • 2.6 QToolBar78
      • 2.6.1 Introduction78
      • 2.6.2 Exemple d'utilisation78
      • Chapitre 4
      • Gestion des évènements en PyQt
      • 1. La gestion d'évènements en PyQt81
      • 1.1 Propos introductif81
      • 1.2 Premier exemple : signaux et slots82
      • 2. Plus loin dans la gestion d'évènements85
      • 2.1 La transmission de données85
      • 2.2 Les limitations issues de C+ +88
      • 2.3 Développer sa propre gestion d'évènements88
      • 2.3.1 Introduction88
      • 2.3.2 Utilisation de pyqtSignal88
      • 2.3.3 Exemple de gestion personnalisée des évènements89
      • 2.3.4 Fonctions et décorateurs91
      • 2.4 Passage de paramètres supplémentaires à des slots93
      • 2.4.1 Introduction93
      • 2.4.2 Utilisation du mot-clé lambda93
      • 2.4.3 Utilisation de partial94
      • Chapitre 5
      • Modèle-Vue-Contrôleur (MVC) et PyQt
      • 1. Introduction97
      • 2. Le Modèle-Vue-Contrôleur (MVC)98
      • 2.1 Introduction98
      • 2.2 .L'esprit du paradigme MVC98
      • 3. Développement d'une application de calculatrice100
      • 3.1 Introduction100
      • 3.2 Analyse, architecture et codage100
      • 3.2.1 Développement de la vue100
      • 3.2.2 Le modèle103
      • 3.2.3 Développement du contrôleur104
      • 3.3 Le code global de la calculatrice106
      • 3.4 Apparence écran LCD110
      • 4. Développement d'une application Notepad111
      • 4.1 Introduction111
      • 4.2 Programmation de l'application113
      • 4.3 Code global de l'application Notepad118
      • 5. Développement d'une application d'éditeur de texte enrichi122
      • 5.1 Introduction122
      • 5.2 Programmation de l'application123
      • 5.3 Code global de l'application d'édition de texte enrichi130
      • 6. Conclusion du Chapitre 134
      • Chapitre 6
      • Gestion des styles et des apparences en PyQt
      • 1. Introduction135
      • 2. Manipuler les polices, l'objet QFont137
      • 2.1 Utiliser l'objet QFont137
      • 2.2 La question des polices de caractères non installées142
      • 3. Manipuler les images en PyQt145
      • 3.1 Utilisation de QPixmap pour les images145
      • 3.2 Plus loin avec QPixmap pour les images149
      • 3.2.1 L'insertion dans un Qlabel avec du texte149
      • 3.2.2 Modifier les dimensions de l'image après insertion ....150
      • 4. Manipuler les icônes en PyQt150
      • 4.1 Introduction150
      • 4.2 Exemple d'utilisation150
      • 5. Les fichiers de ressources en PyQt153
      • 5.1 Introduction153
      • 5.2 Ressources et PyQt153
      • 6. L'usage de QPalette en PyQt159
      • 6.1 Introduction159
      • 6.2 Utilisation de QPalette159
      • 7. L'usage de QBrush en PyQt162
      • 7.1 Introduction162
      • 7.2 Utilisation de QBrush163
      • 8. La gestion des styles en PyQt165
      • 8.1 Introduction165
      • 8.2 Première utilisation de QSS166
      • 8.3 Plus loin avec QSS169
      • 8.3.1 Enrichissement de l'exemple169
      • 8.3.2 Des valorisations plus fines172
      • 8.3.3 Le préfixe # en QSS175
      • 8.3.4 Le préfixe « . » en QSS175
      • 9. Conclusion du Chapitre 179
      • Chapitre 7
      • Les animations en PyQt
      • 1. Introduction181
      • 2. Des animations simples en PyQt182
      • 2.1 Introduction182
      • 2.2 Une première animation géométrique184
      • 2.3 Les limites de l'usage de QPropertyAnimation186
      • 2.4 Couleurs et animation en PyQt187
      • 3. Animation plus élaborée avec QPropertyAnimation190
      • 3.1 Introduction190
      • 3.2 Animations et courbe de Bézier190
      • 4. Notion de scène graphique en PyQt195
      • 4.1 Introduction195
      • 4.2 Exemple d'utilisation195
      • Chapitre 8
      • Gestion et usage des bases de données en PyQt
      • 1. Introduction199
      • 1.1 Les bases de données relationnelles199
      • 1.2 Le système de base de données SQLite200
      • 2. Exemple détaillé avec SQLite200
      • 2.1 Création de la base de données200
      • 2.2 Connexion à la base de données208
      • 2.3 Première insertion de données dans la base de données209
      • 2.4 Insertion des autres données dans la base de données213
      • 2.5 Modification de données existantes dans la base de données .216
      • 2.6 Exemple de requête utilisant une jointure217
      • 2.7 Requête préparée en PyQt218
      • 2.7.1 La méthode par substitution des critères219
      • 2.7.2 La méthode par requête préparée220
      • 3. Plus loin avec l'utilisation de QSqlTableModel221
      • 3.1 Introduction221
      • 3.2 Exemple d'utilisation221
      • 4. L'utilisation de QSqlRelationalTableModel225
      • 4.1 Introduction225
      • 4.2 Exemple d'utilisation225
      • 5. Le mapping de données avec QDataWidgetMapper228
      • 5.1 Introduction228
      • 5.2 Exemple d'utilisation229
      • Chapitre 9
      • Son et vidéo avec PyQt
      • 1. Introduction233
      • 2. Le son dans PyQt234
      • 2.1 Jouer un simple son234
      • 2.2 Lire ou enregistrer un son236
      • 2.2.1 Introduction236
      • 2.2.2 Vérification de la présence d'un micro237
      • 2.2.3 Développement de l'application238
      • 3. La vidéo dans PyQt247
      • 3.1 Introduction247
      • 3.2 Application de capture d'image depuis un flux vidéo248
      • 3.2.1 Vérification de la présence d'une caméra248
      • 3.2.2 Développement de l'application249
      • Chapitre 10
      • Réseaux et gestion des couches basses
      • 1. Introduction255
      • 2. PyQt et les sockets256
      • 2.1 Introduction256
      • 2.2 Adressage IP257
      • 2.3 Protocoles de transmission TCP et UDP259
      • 2.4 Réalisation d'une messagerie instantanée locale basée sur UDP260
      • 2.4.1 Introduction260
      • 2.4.2 Développement de la messagerie UDP261
      • 2.5 Réalisation d'une messagerie instantanée locale basée sur TCP267
      • 2.5.1 Introduction267
      • 2.5.2 Développement de la messagerie TCP268
      • 3. PyQt et les requêtes HTTP275
      • 3.1 Introduction275
      • 3.2 Exemples sur la thématique PyQt et HTTP276
      • 3.2.1 Récupérer le contenu d'une page web276
      • 3.2.2 Une requête POST en PyQt278
      • Chapitre 11
      • Le mulîithreading en PyQt et sujets assimilés
      • 1. Introduction283
      • 2. Utilisation de la classe QTimer285
      • 2.1 Introduction285
      • 2.2 Développement utilisant QTimer285
      • 3. Le multithreading en PyQt289
      • 3.1 Introduction289
      • 3.2 Mise en évidence de l'utilisation de QThread290
      • 3.3 Exemple avancé avec QThread295
      • 4. Pool de threads en PyQt302
      • 4.1 Introduction302
      • 4.2 Petit exemple d'utilisation de QThreadPool302
      • Chapitre 12
      • Usages étendus de PyQt
      • 1. Introduction305
      • 2. Diagrammes de données en PyQt306
      • 2.1 Introduction306
      • 2.2 Exemple de diagramme en PyQt : le pourcentage CPU307
      • 3. Web browsing en PyQt313
      • 3.1 Introduction313
      • 3.2 Développement d'un navigateur web313
      • 4. Modélisation 3D en PyQt318
      • 4.1 Introduction318
      • 4.2 Modélisation 3D en PyQt318
      • 4.3 Exemple d'application avec OpenGL en PyQt320
      • Index327

  • Origine de la notice:
    • Electre
  • Disponible - 681.234 PRI

    Niveau 3 - Informatique