Livres en anglais
1 livre et 1 critique, dernière mise à jour le 29 août 2021 , note moyenne : 5
Détails du livre
Sommaire
Critiques (1)
Rapid GUI Programming With Python and Qt
The Definitive Guide to PyQt Programming
de Mark Summerfield
Résumé de l'éditeur
Que vous soyez en train de créer des prototypes d'interfaces graphiques ou des applications entièrement multiplateforme avec un aspect natif pour chaque système, PyQt 4 est votre solution la plus rapide, la plus simple et la plus puissante. Mark Summerfield, expert Qt, a écrit sans conteste le meilleur guide des bonnes pratiques pour le développement avec PyQt 4.
Avec Rapid GUI Programming with Python and Qt vous allez apprendre comment créer des applications d'interfaces graphiques efficaces qui s'exécutent sous la majeure partie des systèmes d'exploitation tels que Windows, Mac OS X, Linux et de nombreuses versions d'Unix, en utilisant le même code source pour tous. Summerfield introduit systématiquement chaque technique de développement d'interfaces graphiques : des boîtes de dialogue et des fenêtres pour gérer des données ; des événements d'impression ; et plus encore. À travers les exemples réels de ce livre, vous allez découvrir une approche complètement nouvelle de la programmation basée sur PyQt 4, ainsi que le traitement de nombreux sujets, d'un moteur de texte riche écrit en PyQt 4, à la programmation avancée de modèles/vues et de graphiques/vues. Tous les concepts clés sont agrémentés d'exemples réels, téléchargeables et testés sous Windows, Mac OS X et Linux avec Python 2.5, Qt 4.2 et PyQt 4.2, et sur Windows et Linux avec Qt 4.3 et PyQt 4.3.
Sujets traités :
Avec Rapid GUI Programming with Python and Qt vous allez apprendre comment créer des applications d'interfaces graphiques efficaces qui s'exécutent sous la majeure partie des systèmes d'exploitation tels que Windows, Mac OS X, Linux et de nombreuses versions d'Unix, en utilisant le même code source pour tous. Summerfield introduit systématiquement chaque technique de développement d'interfaces graphiques : des boîtes de dialogue et des fenêtres pour gérer des données ; des événements d'impression ; et plus encore. À travers les exemples réels de ce livre, vous allez découvrir une approche complètement nouvelle de la programmation basée sur PyQt 4, ainsi que le traitement de nombreux sujets, d'un moteur de texte riche écrit en PyQt 4, à la programmation avancée de modèles/vues et de graphiques/vues. Tous les concepts clés sont agrémentés d'exemples réels, téléchargeables et testés sous Windows, Mac OS X et Linux avec Python 2.5, Qt 4.2 et PyQt 4.2, et sur Windows et Linux avec Qt 4.3 et PyQt 4.3.
Sujets traités :
- bases de Python basiques pour tous les développeurs PyQt : types de données, structures de données, structures de contrôle, classes, modules et plus encore ;
- techniques principales de programmation d'interfaces graphiques avec PyQt : boîtes de dialogue, fenêtres principales et formats de fichiers personnalisés ;
- utilisation de Qt Designer pour créer des interfaces utilisateurs et pour implémenter ainsi que tester des boîtes de dialogue, des événements, le presse-papier et le glisser/déposer ;
- construction de widgets personnalisés : feuilles de style pour widgets, widgets composés, sous-classes et plus encore ;
- profiter du maximum de la nouvelle architecture graphiques/vues de Qt 4.2 ;
- connexion à des bases de données, exécution de requêtes et utilisation des formulaires et des tableaux ;
- programmation avancée avec le modèle/vue : vues personnalisées, générique delegates et plus encore ;
- implémentation d'une aide en ligne, traduction d'applications, et utilisation des possibilités du réseau et du multi-thread de PyQt.
Édition : Prentice Hall - 648 pages, 1re édition, 18 octobre 2007
ISBN10 : 0132354187 - ISBN13 : 9780132354189
- Python Programming
- Data Types and Data Structures
- Control Structures
- Classes and Modules
- Basic GUI Programming
- Introduction to GUI Programming
- Dialogs
- Main Windows
- Using Qt Designer
- Custom File Formats
- Intermediate GUI Programming
- Layouts and Multiple Documents
- Events, the Clipboard, and Drag and Drop
- Custom Widgets
- Graphics (this chapter is devoted to the graphics view architecture introduced with Qt 4.2)
- Rich Text
- Model/View Programming
- Databases
- Advanced GUI Programming
- Advanced Model/View Programming
- Internationalization
- Networking
- Multithreading
- Appendix A: Installing Python, PyQt, and the Qt Libraries on Windows, Mac OS X, and X11-based Unices including Linux
- Appendix B: Selected PyQt Widgets
- Appendix C: Selected PyQt Class Hierarchies
- Index
Critique du livre par Christophe Kibleur le 1er novembre 2007
Mark Summerfield déjà co-auteur du célèbre livre C++ GUI Programming with Qt 4 (traduit en français aux éditions Pearson Education) nous livre un nouvel opus sur la librairie Qt4 mais dédiée cette fois-ci au langage Python.
Parlons de la qualité du livre lui-même : une belle couverture rigide sur laquelle figure l'image du satellite Hubble en orbite autour de la Terre. Le sens ? Python est utilisé par la NASA pour calibrer et analyser les données recueillies par celui-ci. Que ce soit le papier, la qualité d'impression ou les multiples diagrammes, il n'y a rien à redire si ce n'est qu'on aimerait voir ce genre d'initiatives plus souvent chez nos éditeurs, surtout eu égard au prix pratiqué.
Passons maintenant au contenu proprement dit, qui se divise en quatre parties distinctes (cinq en fait si l'on compte les divers appendices qui représentent à eux seuls presque une centaine de pages).
On peut s'interroger sur le bien fondé de la première partie, en effet il serait étonnant qu'une personne ne connaissant pas le langage se risque à acheter un tel livre. Et pourtant Marc réussi là un véritable tour de force : on balaye les fonctionnalités du langage par la pratique, avec des exemples vraiment très pertinents. J'avoue même avoir appris certains concepts dont je ne soupçonnais pas l'existence, sans doute faute d'en avoir eu un réel besoin. Les fonctions partielles, par exemple, ont un intérêt certain dans la suite de l'ouvrage. De la même façon, vous pourrez y voir de multiples références au PEP (Python Enhancement Proposals : les fonctionnalités à venir de Python).
Si l'anglais peut rebuter au départ, surtout lorsqu'il est technique, on se surprend rapidement à lire un thème donné sans avoir recours au dictionnaire (je précise que je n'ai aucune thèse en anglais). Le style se veut simple et efficace, sans être simpliste.
Autant vous rassurer tout de suite, le contenu des trois parties consacrées au vif du sujet, la programmation d'interfaces graphiques n'est pas du tout un plagiat du livre précédent : C++ GUI Programming with Qt 4. On y aborde évidemment plus ou moins les mêmes sujets, mais un réel travail a été fourni sur les nouvelles fonctionnalités apparues depuis la version 4.2 de Qt 4. Citons par exemple un chapitre entier consacré à l'architecture du Graphics view : un réel plus par rapport au livre précédent.
Les exemples sont abondants, collent à la pratique et vous pourrez en outre les récupérer gratuitement sur la page que Marc à consacré à son ouvrage. Sachez du reste qu'elle est remise à jour régulièrement, afin d'améliorer encore certains exemples et de proposer un errata.
Citons aussi quelques petits cadeaux vraiment bienvenus : des utilitaires écrits par l'auteur afin de gérer au mieux vos projets PyQt 4. À chaque fois, on vous place en situation de développeur et vous serez amené à résoudre quelques exercices proposés en fin de chapitre.
J'ai beaucoup apprécié l'éventail d'alternatives à un problème donné. Comment imprimer le contenu d'un QTextEdit par exemple ? Marc vous propose trois méthodes abondamment commentées, de la plus simple à la plus complexe, à vous de choisir ensuite en fonction de vos besoins, de votre niveau ou du temps que vous allez y passer.
Vous l'aurez donc compris, j'ai été plus que séduit par ce livre. On ne passe pas son temps à comparer Qt à tel autre toolkit comme le font certains ouvrages (d'ailleurs, serait-ce vraiment la peine ?), on pratique avant tout, et les repères ne manquent pas: index abondants, diagrammes de classes, éventail visuel de tous les widgets.
Des critiques ? Un chapitre de C++ GUI Programming with Qt 4 était consacré au développement de plugins avec C++, il est absent ici, comme dans tout livre sur Python consacré à ce vaste sujet. Il est vrai que les possibilités dynamiques qu'offrent Python permettent de pallier ce problème assez facilement, mais encore faut-il mettre la main à la pâte. S'il est absent, c'est à mon avis surtout parce qu'il n'existe pas de recette tout faite, mais j'aurais au moins aimé disséquer un exemple simple sur le sujet.
Enfin contrairement à beaucoup d'autres ouvrages, Rapid GUI Programming with Python and Qt se distingue aussi par la façon dont il a été écrit. Pas de LaTeX, de Scribus, de QuarkXPress ni même de InDesign ici, mais une alternative originale et légère : Lout.
Parlons de la qualité du livre lui-même : une belle couverture rigide sur laquelle figure l'image du satellite Hubble en orbite autour de la Terre. Le sens ? Python est utilisé par la NASA pour calibrer et analyser les données recueillies par celui-ci. Que ce soit le papier, la qualité d'impression ou les multiples diagrammes, il n'y a rien à redire si ce n'est qu'on aimerait voir ce genre d'initiatives plus souvent chez nos éditeurs, surtout eu égard au prix pratiqué.
Passons maintenant au contenu proprement dit, qui se divise en quatre parties distinctes (cinq en fait si l'on compte les divers appendices qui représentent à eux seuls presque une centaine de pages).
- Programmation avec Python ;
- Programmation d'interfaces graphiques niveau basique ;
- Programmation d'interfaces graphiques niveau intermédiaire ;
- Programmation d'interfaces graphiques niveau avancé.
On peut s'interroger sur le bien fondé de la première partie, en effet il serait étonnant qu'une personne ne connaissant pas le langage se risque à acheter un tel livre. Et pourtant Marc réussi là un véritable tour de force : on balaye les fonctionnalités du langage par la pratique, avec des exemples vraiment très pertinents. J'avoue même avoir appris certains concepts dont je ne soupçonnais pas l'existence, sans doute faute d'en avoir eu un réel besoin. Les fonctions partielles, par exemple, ont un intérêt certain dans la suite de l'ouvrage. De la même façon, vous pourrez y voir de multiples références au PEP (Python Enhancement Proposals : les fonctionnalités à venir de Python).
Si l'anglais peut rebuter au départ, surtout lorsqu'il est technique, on se surprend rapidement à lire un thème donné sans avoir recours au dictionnaire (je précise que je n'ai aucune thèse en anglais). Le style se veut simple et efficace, sans être simpliste.
Autant vous rassurer tout de suite, le contenu des trois parties consacrées au vif du sujet, la programmation d'interfaces graphiques n'est pas du tout un plagiat du livre précédent : C++ GUI Programming with Qt 4. On y aborde évidemment plus ou moins les mêmes sujets, mais un réel travail a été fourni sur les nouvelles fonctionnalités apparues depuis la version 4.2 de Qt 4. Citons par exemple un chapitre entier consacré à l'architecture du Graphics view : un réel plus par rapport au livre précédent.
Les exemples sont abondants, collent à la pratique et vous pourrez en outre les récupérer gratuitement sur la page que Marc à consacré à son ouvrage. Sachez du reste qu'elle est remise à jour régulièrement, afin d'améliorer encore certains exemples et de proposer un errata.
Citons aussi quelques petits cadeaux vraiment bienvenus : des utilitaires écrits par l'auteur afin de gérer au mieux vos projets PyQt 4. À chaque fois, on vous place en situation de développeur et vous serez amené à résoudre quelques exercices proposés en fin de chapitre.
J'ai beaucoup apprécié l'éventail d'alternatives à un problème donné. Comment imprimer le contenu d'un QTextEdit par exemple ? Marc vous propose trois méthodes abondamment commentées, de la plus simple à la plus complexe, à vous de choisir ensuite en fonction de vos besoins, de votre niveau ou du temps que vous allez y passer.
Vous l'aurez donc compris, j'ai été plus que séduit par ce livre. On ne passe pas son temps à comparer Qt à tel autre toolkit comme le font certains ouvrages (d'ailleurs, serait-ce vraiment la peine ?), on pratique avant tout, et les repères ne manquent pas: index abondants, diagrammes de classes, éventail visuel de tous les widgets.
Des critiques ? Un chapitre de C++ GUI Programming with Qt 4 était consacré au développement de plugins avec C++, il est absent ici, comme dans tout livre sur Python consacré à ce vaste sujet. Il est vrai que les possibilités dynamiques qu'offrent Python permettent de pallier ce problème assez facilement, mais encore faut-il mettre la main à la pâte. S'il est absent, c'est à mon avis surtout parce qu'il n'existe pas de recette tout faite, mais j'aurais au moins aimé disséquer un exemple simple sur le sujet.
Enfin contrairement à beaucoup d'autres ouvrages, Rapid GUI Programming with Python and Qt se distingue aussi par la façon dont il a été écrit. Pas de LaTeX, de Scribus, de QuarkXPress ni même de InDesign ici, mais une alternative originale et légère : Lout.