1. Description de la bibliothèque PyQt
La bibliothèque PyQt est un ensemble de modules Python qui fournissent un accès à l'application de développement de framework Qt. Elle permet aux développeurs d'utiliser les fonctionnalités de Qt, telles que les widgets graphiques, les signaux et les slots, les animations, les effets visuels, les fenêtres, les menus, les barres d'outils, les dialogues, les widgets de saisie, les vues, les modèles et les contrôleurs, pour créer des applications desktop riches en fonctionnalités et professionnelles. PyQt est une bibliothèque très populaire pour la création d'interfaces graphiques de utilisateur en Python, et est utilisé par de nombreux développeurs pour créer des applications de bureau, des logiciels scientifiques...
La bibliothèque PyQt est composée de deux modules principaux: QtCore et QtGui. Le module QtCore contient des classes pour la gestion des données, des fichiers, des flux, des signaux et des slots, des timers, des threading, et d'autres fonctionnalités de base qui sont utilisées par d'autres modules. Le module QtGui contient des classes pour les widgets graphiques, les layouts, les dialogues, les menus, les barres d'outils, les fenêtres, les impressions, les images, les polices, les etc. Il permet également de créer des applications multi-plateformes car il est disponible pour Windows, MacOS, Linux, et d'autres systèmes d'exploitation.
1. Installation de la bibliothèque PyQt5
Pour installer la bibliothèque PyQt5, il suffit d'utiliser l'utilitaire pip:
1 |
pip instll pyqt5 |
et d'installer les outils associés:
1 |
pip install pyqt5-tools |
3. Exemple d'usage de la bibliothèque PyQt5
Voici un exemple simple de comment utiliser PyQt pour créer une fenêtre de base avec un bouton "Quitter" qui ferme la fenêtre lorsqu'il est cliqué :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton app = QApplication(sys.argv) window = QWidget() window.setWindowTitle("PyQt Example") window.setGeometry(100 , 100 , 400 , 300) quit_button = QPushButton("Quit", window) quit_button.setGeometry(100 , 100 , 120 , 30) quit_button.clicked.connect(app.quit) window.show() sys.exit(app.exec_()) |
Ici, nous importons les modules nécessaires de PyQt5, créons une instance de l'application QApplication, créons une fenêtre de base QWidget, définissons le titre de la fenêtre, créons un bouton "Quit" en utilisant QPushButton, et connectons le signal "clicked" du bouton à la méthode quit de l'application pour fermer la fenêtre lorsque le bouton est cliqué. Enfin, nous affichons la fenêtre et exécutons l'application en utilisant la méthode exec_() de l'application.
Ce n'est qu'un exemple simple, mais il montre comment utiliser les classes de base de PyQt pour créer une interface utilisateur simple. Vous pouvez utiliser les nombreuses autres classes et fonctionnalités de PyQt pour créer des interfaces plus complexes et riches en fonctionnalités.
4. Liste des widgets associés à une fenêtre PyQt5
Voici une liste de quelques widgets PyQt5 couramment utilisés avec une courte description :
- QLabel: Affiche du texte ou une image.
- QLineEdit: Champ de saisie pour une ligne de texte.
- QTextEdit: Champ de saisie pour plusieurs lignes de texte avec des options d'édition de base.
- QCheckBox: Case à cocher pour la sélection ou la désélection d'une option.
- QRadioButton: Bouton radio pour la sélection d'une option dans un groupe de boutons radio.
- QPushButton: Bouton pour déclencher une action.
- QComboBox: Liste déroulante pour sélectionner une option parmi plusieurs.
- QListWidget: Affiche une liste d'éléments sélectionnables.
- QTreeWidget: Affiche une liste hiérarchique d'éléments sélectionnables.
- QTableWidget: Affiche une table avec des cellules modifiables.
- QCalendarWidget: Affiche un calendrier pour sélectionner une date.
- QDateEdit: Champ de saisie pour une date.
- QDateTimeEdit: Champ de saisie pour une date et une heure.
- QTimeEdit: Champ de saisie pour une heure.
- QProgressBar: Affiche une barre de progression pour indiquer l'avancement d'une tâche.
- QSlider: Curseur pour sélectionner une valeur dans un intervalle donné.
- QDial: Cadran pour sélectionner une valeur dans un intervalle donné.
- QSpinBox: Champ de saisie pour entrer une valeur numérique dans un intervalle donné.
- QDoubleSpinBox: Champ de saisie pour entrer une valeur décimale dans un intervalle donné.
- QMainWindow: Fournit une fenêtre principale pour une application.
- QDialog: Fournit une fenêtre de dialogue pour demander de l'information à l'utilisateur ou afficher des messages.
- QFrame: Fournit un cadre pour organiser d'autres widgets.
- QGroupBox: Fournit un cadre pour organiser des widgets en groupe.
- QScrollArea: Fournit une zone de défilement pour afficher des widgets qui dépassent la taille de la fenêtre.
- QSplitter: Fournit un séparateur pour régler la taille de deux widgets adjacents.
- QTabWidget: Fournit un onglet pour organiser plusieurs widgets dans une seule fenêtre.
- QToolBox: Fournit un boîte à outils pour organiser plusieurs widgets dans un ensemble de pages.
- QStackedWidget: Fournit une pile de widgets, où seul le widget en haut de la pile est affiché.
- QToolBar: Fournit une barre d'outils pour accéder rapidement aux commandes d'application.
- QMenuBar: Fournit une barre de menu pour accéder aux commandes d'application.
- QStatusBar: Fournit une barre d'état pour afficher des messages ou des informations d'état.
- QDockWidget: Fournit une fenêtre flottante pour organiser les widgets, qui peut être amarrée à différentes zones de la fenêtre principale.
- QColorDialog: Fournit une boîte de dialogue pour sélectionner une couleur.
- QFileDialog: Fournit une boîte de dialogue pour sélectionner un fichier ou un dossier.
- QFontDialog: Fournit une boîte de dialogue pour sélectionner une police.
- QInputDialog: Fournit une boîte de dialogue pour demander une entrée à l'utilisateur.
- QMessageBox: Fournit une boîte de dialogue pour afficher des messages à l'utilisateur.
- QPrintDialog: Fournit une boîte de dialogue pour configurer l'impression.
- QProgressDialog: Fournit une boîte de dialogue pour indiquer l'avancement d'une tâche.
- QErrorMessage: Fournit une boîte de dialogue pour afficher des messages d'erreur.
- QTextBrowser: Fournit un navigateur de texte pour afficher du contenu formaté.
- QLCDNumber: Affiche un chiffre ou une valeur numérique sous forme de segments de LCD.
- QPixmap: Fournit une image bitmap.
- QBitmap: Fournit une image bitmap en niveaux de gris.
- QMovie: Fournit une animation à partir d'une série d'images.
- QSvgWidget: Fournit une image vectorielle SVG.
- QOpenGLWidget: Fournit une zone de rendu pour les applications OpenGL.
- QGraphicsItem: Fournit des objets graphiques pour être utilisés dans un QGraphicsScene.
- QGraphicsScene: Fournit une scène pour organiser des objets graphiques.
- QGraphicsView: Fournit une vue pour afficher une scène graphique.
Younes Derfoufi
CRMEF OUJDA