La classe QTableWidget PyQt5 En Python

1. A propos de QTableWidget

La classe QTableWidget dans PyQt5 est une classe destinée à afficher et éditer des données tabulaires sous forme de table. Elle fournit une interface graphique pour afficher des données sous forme de lignes et de colonnes, souvent utilisée dans les applications GUI pour présenter des informations de manière structurée et organisée. Ainsi PyQt5 nous offre la classe QTableWidget afin de pouvoir gérer, organiser et afficher les données d'un tableau multidimensionnel d'une façon élégante et attrayante.

2. Création d'une simple table QTableWidget

Afin de créer un widget QTableWidget, on doit importer la classe QTableWideget et procéder à une instanciation:

Exemple

3. Ajout de l'entête (header)

L'affichage d'une table QTableWidget peut être amélioré en ajoutant des entêtes à l'aide des méthodes:

  1. setHorizontalHeaderLabels() : Permet d'ajouter une entête horizontale
  2. setVerticalHeaderLabels() : Permet d'ajouter une entête verticale

Exemple

4. Ajout des données

On peut aussi ajouter des données via la méthode setItem:

4.1 Ajouter une ligne de données

Pour ajouter un élément à la première ligne et première colonne on utilise le code:

Exemple (ajout d'une première ligne)

4.2 Ajouter des données en lot

Les données à ajouter son généralement issues d'une base de données et sont groupées sur un tableau multidimentionnel ou un tableau de dictionnaires de données... Il est donc crucial de savoir comment les ajouter groupées en une seule fois

Exemple

ajouter des données à une table QTableWidget PyQt5 Python



5. QTableWidget selon l'approche objet

6. Liste des méthodes et attributs associés à la classe QTableWidget

la classe QTableWidget possède de nombreuses méthodes et attributs permettant d'améliorer l'experience utilisateur. Nous vous donnerons ici une liste non exhaustive des méthodes et attributs les plus couramment utilisés. Sur le site officiel de PyQt, vous trouverez d'autres méthodes et attributs disponibles pour le widget QTableWidget en fonction des besoins spécifiques de votre application.

Méthodes :

  1. setItem(row, column, item): Définit l'élément à la position spécifiée par les coordonnées (ligne, colonne).
  2. item(row, column): Renvoie l'élément à la position spécifiée par les coordonnées (ligne, colonne).
  3. setHorizontalHeaderItem(column, item): Définit l'élément d'en-tête horizontal à la colonne spécifiée.
  4. setVerticalHeaderItem(row, item): Définit l'élément d'en-tête vertical à la ligne spécifiée.
  5. horizontalHeaderItem(column): Renvoie l'élément d'en-tête horizontal à la colonne spécifiée.
  6. verticalHeaderItem(row): Renvoie l'élément d'en-tête vertical à la ligne spécifiée.
  7. clear(): Efface toutes les données de la table.
  8. clearContents(): Efface le contenu des cellules sans supprimer les en-têtes.
  9. rowCount(): Renvoie le nombre de lignes dans la table.
  10. columnCount(): Renvoie le nombre de colonnes dans la table.
  11. insertRow(row): Insère une nouvelle ligne à la position spécifiée.
  12. removeRow(row): Supprime la ligne spécifiée.
  13. insertColumn(column): Insère une nouvelle colonne à la position spécifiée.
  14. removeColumn(column): Supprime la colonne spécifiée.
  15. selectRow(row): Sélectionne la ligne spécifiée.
  16. selectColumn(column): Sélectionne la colonne spécifiée.
  17. selectedItems(): Renvoie une liste des éléments sélectionnés dans la table.
  18. setItemDelegate(delegate): Définit le délégué utilisé pour le rendu et l'édition des éléments de la table.

Attributs :

  1. rowCount: Propriété en lecture seule renvoyant le nombre de lignes dans la table.
  2. columnCount: Propriété en lecture seule renvoyant le nombre de colonnes dans la table.
  3. currentItem: Propriété renvoyant l'élément actuellement sélectionné.
  4. selectionModel: Propriété renvoyant le modèle de sélection utilisé par la table.

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply

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