Le widget QFrame PyQt5 Python

1. Description du widget QFrame

Un QFrame est un widget d'interface utilisateur dans PyQt5 qui fournit un conteneur rectangulaire pouvant être utilisé pour organiser et afficher d'autres widgets. Il est principalement utilisé pour diviser l'interface utilisateur en sections logiques ou pour encadrer un groupe de widgets connexes.

2. Caractéristiques d'un QFrame dans PyQt5

  1. Conteneur rectangulaire : Le QFrame est un rectangle visible sur l'écran qui peut être utilisé pour afficher d'autres widgets, tels que des boutons, des zones de texte, des images, etc.
  2. Style personnalisé : Vous pouvez appliquer un style personnalisé au QFrame en utilisant les feuilles de style (style sheets) de Qt. Cela vous permet de changer l'apparence du QFrame, y compris les couleurs, les bordures et autres propriétés visuelles.
  3. Propriétés géométriques : Vous pouvez définir la position, la taille et la géométrie du QFrame à l'intérieur de la fenêtre principale ou d'autres conteneurs.
  4. Contenu : Le QFrame lui-même n'affiche pas de contenu à moins que vous ne lui ajoutiez d'autres widgets en tant qu'enfants. Vous pouvez ajouter des widgets à l'intérieur du QFrame pour afficher du texte, des images ou tout autre élément interactif.
  5. Grille de disposition : Vous pouvez utiliser les gestionnaires de mise en page (layout managers) de PyQt5 pour organiser les widgets à l'intérieur du QFrame de manière automatique et adaptative en fonction de la taille de la fenêtre ou des changements de contenu.
  6. Interaction avec les événements : Comme tout widget dans PyQt5, le QFrame peut interagir avec les événements tels que les clics de souris, les pressions de touche, etc. Vous pouvez implémenter des gestionnaires d'événements pour réagir aux interactions de l'utilisateur.
  7. Utilisations courantes : Le QFrame est souvent utilisé pour encadrer un groupe de widgets connexes, créer des séparations entre différentes parties de l'interface utilisateur, ou pour afficher des éléments décoratifs ou des graphiques.

3. Syntaxe et usage d'un QFrame PyQt5

3.1 Syntaxe d'un QFrame

Afin de pouvoir créer et utiliser un QFrame, il faut:

- importer la classe QFrame:

- Faire une instanciation sur la classe QFrame:

- On pourra aussi ajouter un style:

3.2 Exemples d'usage

Voici un exemple d'utilisation d'un QFrame simple :

Exemple1

QFrame simple PyQt5 Python débutant

Exemple 2 (encadrer un groupe de widgets)

En générale, un QFrame est utiliser pour organiser l'interface utilisateur. Ainsi pour organiser une interface robuste et complexe on pourra créer plusieurs frames réparties selon un certain layout (QVBoxLayout, QGridLayout...) et chaque frame contient un ensemble de widgets: buttons, labels...
Voici un exemple d'utilisation d'un QFrame pour encadrer un groupe de widgets :

organiser les widgets PyQt5 à l'aide des QFrame - Python débutant



4. Méthodes et attributs associés à un objet QFrame

Nous allons citer ici une liste non exhaustive, mais une liste des méthodes et attributs les plus couramment utilisés avec un objet QFrame dans PyQt5. Vous pouvez consulter la documentation officielle de PyQt5 pour obtenir une liste complète de toutes les méthodes et attributs disponibles pour la classe QFrame.
Voici une liste des méthodes et des attributs couramment utilisés associés à un objet QFrame dans PyQt5 :

4.1 Les méthodes associés à un objet QFrame

  1. setFrameShape(shape: int): Définit la forme du cadre. Les valeurs possibles pour shape sont QFrame.NoFrame, QFrame.Box, QFrame.Panel, QFrame.WinPanel, QFrame.HLine et QFrame.VLine.
  2. setFrameShadow(shadow: int): Définit l'ombre du cadre. Les valeurs possibles pour shadow sont QFrame.Plain, QFrame.Raised et QFrame.Sunken.
  3. setLineWidth(width: int): Définit l'épaisseur de la ligne du cadre.
  4. setMidLineWidth(width: int): Définit l'épaisseur de la ligne médiane du cadre.
  5. setStyleSheet(styleSheet: str): Applique une feuille de style (style sheet) personnalisée pour personnaliser l'apparence du cadre.
  6. setContentsMargins(left: int, top: int, right: int, bottom: int): Définit les marges internes du cadre pour ajuster l'emplacement des widgets enfants.
  7. setFrameRect(rect: QRect): Définit le rectangle qui spécifie la taille et la position du cadre.
  8. frameRect() -> QRect: Renvoie le rectangle du cadre.
  9. frameShape() -> int: Renvoie la forme du cadre.
  10. frameShadow() -> int: Renvoie l'ombre du cadre.

4.2 Les attributs associés à un objet QFrame

  1. NoFrame: Constante qui représente l'absence de cadre (0).
  2. Box: Constante qui représente un cadre rectangulaire (1).
  3. Panel: Constante qui représente un cadre de panneau (2).
  4. WinPanel: Constante qui représente un cadre de panneau Windows (3).
  5. HLine: Constante qui représente une ligne horizontale (4).
  6. VLine: Constante qui représente une ligne verticale (5).
  7. Plain: Constante qui représente une ombre simple (16).
  8. Raised: Constante qui représente une ombre en relief (32).
  9. Sunken: Constante qui représente une ombre en creux (48).

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply