Introduction à la bibliothèque graphique PyQt5

1. A propos de PyQt5

PyQt est une boîte à outils de widgets GUI. Il s'agit d'une interface Python pour Qt, l'une des bibliothèques d'interface graphique multiplateformes les plus puissantes et les plus populaires. PyQt a été développé par RiverBank Computing Ltd. La dernière version de PyQt peut être téléchargée à partir de son site officiel: riverbankcomputing.com

L'API PyQt est un ensemble de modules contenant un grand nombre de classes et de fonctions. Alors que le module QtCore contient des fonctionnalités non-GUI pour travailler avec des fichiers et des répertoires, etc., le module QtGui contient tous les contrôles graphiques. De plus, il existe des modules pour travailler avec XML (QtXml), SVG (QtSvg) et SQL (QtSql), etc.

2. Les modules qui composent PyQt5

  1. QtCore:  Classes principales sans interface graphique utilisées par d'autres modules
  2. QtGui: Composants d'interface utilisateur graphique
  3. QtMultimedia: Cours pour la programmation multimédia de bas niveau
  4. QtNetwork: Classes pour la programmation réseau
  5. QtOpenGL: Classes de support OpenGL
  6. QtScript: Classes pour évaluer les scripts Qt
  7. QtSql: Classes pour l'intégration de bases de données à l'aide de SQL
  8. QtSvg: Classes pour afficher le contenu des fichiers SVG
  9. QtWebKit: Classes pour le rendu et l'édition HTML
  10. QtXml: Classes pour gérer XML
  11. QtWidgets: Classes pour créer des interfaces utilisateur classiques de style bureau
  12. QtDesigner: Classes pour étendre Qt Designer




3. Liste des widgets associés à une fenêtre PyQt5

Voici une liste de quelques widgets PyQt5 couramment utilisés avec une courte description :

  1. QLabel: Affiche du texte ou une image.
  2. QLineEdit: Champ de saisie pour une ligne de texte.
  3. QTextEdit: Champ de saisie pour plusieurs lignes de texte avec des options d'édition de base.
  4. QCheckBox: Case à cocher pour la sélection ou la désélection d'une option.
  5. QRadioButton: Bouton radio pour la sélection d'une option dans un groupe de boutons radio.
  6. QPushButton: Bouton pour déclencher une action.
  7. QComboBox: Liste déroulante pour sélectionner une option parmi plusieurs.
  8. QListWidget: Affiche une liste d'éléments sélectionnables.
  9. QTreeWidget: Affiche une liste hiérarchique d'éléments sélectionnables.
  10. QTableWidget: Affiche une table avec des cellules modifiables.
  11. QCalendarWidget: Affiche un calendrier pour sélectionner une date.
  12. QDateEdit: Champ de saisie pour une date.
  13. QDateTimeEdit: Champ de saisie pour une date et une heure.
  14. QTimeEdit: Champ de saisie pour une heure.
  15. QProgressBar: Affiche une barre de progression pour indiquer l'avancement d'une tâche.
  16. QSlider: Curseur pour sélectionner une valeur dans un intervalle donné.
  17. QDial: Cadran pour sélectionner une valeur dans un intervalle donné.
  18. QSpinBox: Champ de saisie pour entrer une valeur numérique dans un intervalle donné.
  19. QDoubleSpinBox: Champ de saisie pour entrer une valeur décimale dans un intervalle donné.
  20. QMainWindow: Fournit une fenêtre principale pour une application.
  21. QDialog: Fournit une fenêtre de dialogue pour demander de l'information à l'utilisateur ou afficher des messages.
  22. QFrame: Fournit un cadre pour organiser d'autres widgets.
  23. QGroupBox: Fournit un cadre pour organiser des widgets en groupe.
  24. QScrollArea: Fournit une zone de défilement pour afficher des widgets qui dépassent la taille de la fenêtre.
  25. QSplitter: Fournit un séparateur pour régler la taille de deux widgets adjacents.
  26. QTabWidget: Fournit un onglet pour organiser plusieurs widgets dans une seule fenêtre.
  27. QToolBox: Fournit un boîte à outils pour organiser plusieurs widgets dans un ensemble de pages.
  28. QStackedWidget: Fournit une pile de widgets, où seul le widget en haut de la pile est affiché.
  29. QToolBar: Fournit une barre d'outils pour accéder rapidement aux commandes d'application.
  30. QMenuBar: Fournit une barre de menu pour accéder aux commandes d'application.
  31. QStatusBar: Fournit une barre d'état pour afficher des messages ou des informations d'état.
  32. QDockWidget: Fournit une fenêtre flottante pour organiser les widgets, qui peut être amarrée à différentes zones de la fenêtre principale.
  33. QColorDialog: Fournit une boîte de dialogue pour sélectionner une couleur.
  34. QFileDialog: Fournit une boîte de dialogue pour sélectionner un fichier ou un dossier.
  35. QFontDialog: Fournit une boîte de dialogue pour sélectionner une police.
  36. QInputDialog: Fournit une boîte de dialogue pour demander une entrée à l'utilisateur.
  37. QMessageBox: Fournit une boîte de dialogue pour afficher des messages à l'utilisateur.
  38. QPrintDialog: Fournit une boîte de dialogue pour configurer l'impression.
  39. QProgressDialog: Fournit une boîte de dialogue pour indiquer l'avancement d'une tâche.
  40. QErrorMessage: Fournit une boîte de dialogue pour afficher des messages d'erreur.
  41. QTextBrowser: Fournit un navigateur de texte pour afficher du contenu formaté.
  42. QLCDNumber: Affiche un chiffre ou une valeur numérique sous forme de segments de LCD.
  43. QPixmap: Fournit une image bitmap.
  44. QBitmap: Fournit une image bitmap en niveaux de gris.
  45. QMovie: Fournit une animation à partir d'une série d'images.
  46. QSvgWidget: Fournit une image vectorielle SVG.
  47. QOpenGLWidget: Fournit une zone de rendu pour les applications OpenGL.
  48. QGraphicsItem: Fournit des objets graphiques pour être utilisés dans un QGraphicsScene.
  49. QGraphicsScene: Fournit une scène pour organiser des objets graphiques.
  50. QGraphicsView: Fournit une vue pour afficher une scène graphique.

4. Installation sous Windows

La méthode d'installation la plus éfficace de PyQt5 est celle utilisant l'utilitaire pip

commande pip pour installer la bibliothèque PyQt5

commande pour installer les outils supplémentaires: Qt Designer et autres..

5. Tutoriel vidéo

 

Younes Derfoufi
CRMEF OUJDA

2 thoughts on “Introduction à la bibliothèque graphique PyQt5

Leave a Reply

Your email address will not be published. Required fields are marked *