1. Description de la classe QLabel PyQt5
- La classe QLabel est une classe de la bibliothèque PyQt5 qui permet d'afficher du texte, une image ou une icone etc. Elle est souvent utilisée pour afficher des instructions, des messages d'erreur, des images ou des icônes dans une interface graphique utilisateur (GUI).
- La QLabel peut afficher du texte formaté en utilisant le format de texte Qt. Elle peut également être configurée pour accepter les interactions utilisateur telles que les clics ou les mouvements de souris. La QLabel prend en charge la définition d'un style via une feuille de style CSS.
- La QLabel peut être configurée pour afficher une image en utilisant une pixmap. La pixmap peut être mise à l'échelle pour s'adapter à la taille du QLabel. La QLabel peut également être configurée pour envelopper automatiquement le texte ou pour définir une largeur ou une hauteur minimale et maximale.
- La classe QLabel hérite de la classe QWidget et peut être utilisée dans des interfaces utilisateur complexes. Les objets QLabel peuvent être ajoutés à des mises en page de conteneur tels que QVBoxLayout ou QHBoxLayout.
- En résumé, la classe QLabel est une composante importante de PyQt5 qui permet d'afficher du texte et des images dans des interfaces utilisateur PyQt5. Elle peut être utilisée pour afficher des messages, des instructions, des images ou des icônes dans des applications GUI. La QLabel prend en charge la définition d'un style via une feuille de style CSS et peut être configurée pour accepter des interactions utilisateur.
2. Création d'un QLabel PyQt5
Pour créer des label au sein d'une feêtre, PyQt5 nous offre la classe QLabel. Il suffit d'instancier cette classe en ajoutant le container parent comme paramère:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel app = QApplication(sys.argv) widget = QWidget() widget.setGeometry(50,50,320,200) widget.setWindowTitle("Label Example") # create a QLabel qlabel = QLabel(widget) qlabel.setText("Hello World !") # define the qlabel dimensions & position qlabel.setGeometry(50 , 50 , 200 , 50) widget.show() sys.exit(app.exec_()) |
Ce qui affiche à l'execution:
3. Utiliser un style de designe pour un QLabel
Un objet QLabel est doté de la méthode setStyleSheet() qui permet d'ajouter un style qss ( Qt Style Sheet):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel app = QApplication(sys.argv) widget = QWidget() widget.setGeometry(50,50,350,200) widget.setWindowTitle("Label Example") # create a QLabel qlabel = QLabel(widget) qlabel.setText("Hello World !") # define the qlabel dimensions & position qlabel.setGeometry(50 , 50 , 250 , 50) # Use QSS designe qlabel.setStyleSheet("background: darkblue; border: 2px solid red; color:yellow; font:broadway; font-size:36px;") widget.show() sys.exit(app.exec_()) |
Ce qui affiche à l'exécution:
4. QLabel PyQt5 selon l'approche objet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
from PyQt5.QtWidgets import QApplication, QWidget, QLabel import sys # Création de la classe class QLabelExample(QWidget): def __init__(self): super().__init__() # méthode pour construire les composants de la fenêtre def initUI(self): self.setWindowTitle("Example of QLabel") self.setGeometry(100, 100, 400, 200) # création du QLabel self.lbl = QLabel(self) self.lbl.setText("QLabel by object approach !") self.lbl.setStyleSheet("font-size: 18px;") self.lbl.setGeometry(50, 50, 250, 30) # Exécution du code if __name__ == '__main__': app = QApplication([]) # création de la fenêtre principale via une instanciation win = QLabelExample() # charger les composants de la fenêtre win.initUI() win.show() sys.exit(app.exec_()) |
5. Liste des méthodes associées à un objet QLabel PyQt5
Voici une liste complète des méthodes associées à un objet QLabel de la bibliothèque PyQt5, triées par ordre alphabétique et avec une brève description de chaque méthode :
- alignment() : Renvoie l'alignement du texte dans le QLabel.
- autoFillBackground() : Indique si le QLabel remplit automatiquement son arrière-plan.
- backgroundRole() : Renvoie le rôle de l'arrière-plan du QLabel.
- buddy() : Renvoie le widget compagnon associé au QLabel.
- clear() : Efface le texte et la pixmap affichés par le QLabel.
- font() : Renvoie la police de caractères utilisée par le QLabel.
- foregroundRole() : Renvoie le rôle de la couleur de texte du QLabel.
- frameGeometry() : Renvoie la géométrie du QLabel, y compris la bordure.
- frameSize() : Renvoie la taille du QLabel, y compris la bordure.
- frameStyle() : Renvoie le style de bordure du QLabel.
- hasScaledContents() : Indique si la pixmap est mise à l'échelle pour s'adapter à la taille du QLabel.
- hide() : Masque le QLabel.
- indent() : Renvoie l'indentation du texte dans le QLabel.
- isHidden() : Indique si le QLabel est masqué.
- margin() : Renvoie la marge autour du texte dans le QLabel.
- maximumSize() : Renvoie la taille maximale du QLabel.
- minimumSize() : Renvoie la taille minimale du QLabel.
- minimumSizeHint() : Renvoie la taille minimale recommandée du QLabel.
- mouseDoubleClickEvent(event) : Réimplémentation de la méthode de gestion d'événements de double clic de la souris pour le QLabel.
- move(x, y) : Déplace le QLabel à la position spécifiée.
- num() : Renvoie le texte affiché par le QLabel en tant que nombre.
- palette() : Renvoie la palette de couleurs utilisée par le QLabel.
- pixmap() : Renvoie la pixmap affichée par le QLabel.
- resize(width, height) : Redimensionne le QLabel à la taille spécifiée.
- setAlignment(alignment) : Définit l'alignement du texte dans le QLabel.
- setAutoFillBackground(enabled) : Définit si le QLabel doit remplir son arrière-plan automatiquement.
- setBackgroundRole(role) : Définit le rôle de l'arrière-plan du QLabel.
- setBuddy(widget) : Associe un widget compagnon au QLabel.
- setFixedHeight(height) : Définit la hauteur fixe du QLabel.
- setFixedSize(width, height) : Définit la taille fixe du QLabel.
- setFixedWidth(width) : Définit la largeur fixe du QLabel.
- setFont(font) : Définit la police de caractères utilisée par le QLabel.
- setForegroundRole(role) : Définit le rôle de la couleur de texte du QLabel.
- setGeometry(x, y, width, height) : Définit la géométrie du QLabel.
- setHidden(hidden) : Masque ou affiche le QLabel.
- setIndent(indent) : Définit l'indentation du texte dans le QLabel.
- setMargin(margin) : Définit la marge autour du texte dans le QLabel.
- setMaximumHeight(height) : Définit la hauteur maximale du QLabel.
- setMaximumSize(width, height) : Définit la taille maximale du QLabel.
- setMaximumWidth(width) : Définit la largeur maximale du QLabel.
- setMinimumHeight(height) : Définit la hauteur minimale du QLabel.
- setMinimumSize(width, height) : Définit la taille minimale du QLabel.
- setMinimumWidth(width) : Définit la largeur minimale du QLabel.
- setNum(num) : Définit le texte affiché par le QLabel comme étant un nombre.
- setPixmap(pixmap) : Définit la pixmap affichée par le QLabel.
- setScaledContents(enabled) : Définit si la pixmap doit être mise à l'échelle pour s'adapter à la taille du QLabel.
- setStyleSheet(styleSheet) : Définit la feuille de style CSS du QLabel.
- setText(text) : Définit le texte affiché par le QLabel.
- setTextFormat(format) : Définit le format de texte utilisé par le QLabel.
- setTextInteractionFlags(flags) : Définit les indicateurs d'interaction avec le texte utilisés par le QLabel.
- setWordWrap(enabled) : Définit si le texte doit être enveloppé automatiquement dans le QLabel.
- setWordWrapMode(mode) : Définit le mode d'enveloppement de texte du QLabel.
- show() : Affiche le QLabel.
- sizeHint() : Renvoie la taille recommandée du QLabel.
- text() : Renvoie le texte affiché par le QLabel.
- textInteractionFlags() : Renvoie les indicateurs d'interaction avec le texte utilisés par le QLabel.
- textFormat() : Renvoie le format de texte utilisé par le QLabel.
- update() : Met à jour le QLabel.
- wordWrap() : Indique si le texte est enveloppé automatiquement dans le QLabel.
- wordWrapMode() : Renvoie le mode d'enveloppement de texte du QLabel.
Younes Derfoufi
CRMEF OUJDA