import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem
app = QApplication(sys.argv)
root = QWidget()
root.setWindowTitle("QTableView Example")
root.setGeometry(100, 100, 650, 300)
# create a QTableWidget
table = QTableWidget(root)
table.setRowCount(5)
table.setColumnCount(4)
# ajouter le header
# adding header to the table
headerH = ['ID', 'Name', 'email', 'section']
table.setHorizontalHeaderLabels(headerH)
# Définir la largeur des colonnes
table.setColumnWidth(0, 50) # Colonne ID
table.setColumnWidth(1, 150) # Colonne Name
table.setColumnWidth(2, 200) # Colonne email
table.setColumnWidth(3, 150) # Colonne section
table.setGeometry(50, 50, 550, 200)
# définir les données des étudiants
students_data = [
{'id': 1, 'name': 'Rachid', 'email': 'rachid@gmail.com', 'section': 'mathématique'},
{'id': 2, 'name': 'Nadia', 'email': 'nadia@gmail.com', 'section': 'informatique'},
{'id': 3, 'name': 'Nathalie', 'email': 'nathalie@gmail.com', 'section': 'svt'},
{'id': 4, 'name': 'Alberto', 'email': 'alberto@gmail.com', 'section': 'HG'},
{'id': 5, 'name': 'Farid', 'email': 'farid@gmail.com', 'section': 'math'}
]
# initialiser le numéro de la ligne
index_row = 0
# Insertion des données dans la table
for data in students_data:
table.setItem(index_row , 0 , QTableWidgetItem(str(data['id']))
table.setItem(index_row , 1 , QTableWidgetItem(data['name']))
table.setItem(index_row , 2 , QTableWidgetItem(data['email']))
table.setItem(index_row , 3 , QTableWidgetItem(data['section']))
# incrémenter le numéro de la ligne
index_row +=1
# Afficher la fenêtre
root.show()
sys.exit(app.exec_())
1 thought on “Solution Exercice 15 : Création et insertion des données dans une table QTableWidget PyQt5”