Ce projet Python - PyQt5 a pour objectif de créer une application graphique de gestion des clients (Customer Manager Python - PyQt5) à l'aide de Python et de la bibliothèque PyQt5. L'interface du projet Python - PyQt5 de gestionnaire des clients permet à l'utilisateur d'enregistrer, modifier, supprimer et rechercher des clients dans une base de données ou une structure mémoire temporaire. L'application est intuitive et visuellement bien organisée, avec une section dédiée aux informations personnelles du client, des boutons de contrôle, une table d'affichage et une partie illustrée avec photo et informations contextuelles.
Gestion de l'événement Python - PyQt5 de sélection via ui.tableWidget.selectedItems()
L'élément central de l'interactivité est la table QTableWidget, qui affiche la liste des clients enregistrés. L'utilisateur peut sélectionner une ligne dans cette table afin de charger automatiquement les données du client dans les champs de saisie à gauche.
L'appel à la méthode :
selected_items = ui.tableWidget.selectedItems()
...permet de récupérer tous les éléments (cellules) sélectionnés de la ligne active. Ces éléments sont ensuite utilisés pour préremplir les champs de texte (QLineEdit), les combobox (QComboBox), etc.
Voici un exemple typique du traitement lié à la sélection :
def on_row_selected():
selected = ui.tableWidget.selectedItems()
if selected:
ui.lineEdit_name.setText(selected[1].text()) # Nom
ui.lineEdit_email.setText(selected[2].text()) # Email
ui.lineEdit_phone.setText(selected[3].text()) # Téléphone
ui.comboBox_gender.setCurrentText(selected[4].text()) # Sexe
ui.lineEdit_age.setText(selected[5].text()) # Âge
...
Cela permet de mettre à jour les champs du formulaire automatiquement, ce qui est essentiel pour :
Mettre à jour les données d'un client existant (Update Selected)
Supprimer un client (Delete Selected)
Afficher ses informations détaillées à droite de l'écran
Description de l'interface utilisateur du projet Python - PyQt5
L'interface est divisée en trois zones principales :
1. Formulaire de saisie (gauche)
Champs : nom, email, téléphone, sexe, âge, profession, adresse, photo
Boutons Python - PyQt5 :
Add Customer : ajoute un nouveau client
Cancel : réinitialise les champs
Update Selected : met à jour les informations du client sélectionné dans la table
Delete Selected : supprime le client sélectionné
2. Contrôles de données (centre) du projet Python - PyQt5
Import Data - Export Data : chargement et enregistrement (CSV, JSON, ou base de données)
Clear Data : vide la table sans supprimer les fichiers de sauvegarde
Drop Data : efface toutes les données
Zone de recherche : permet de filtrer les clients selon un critère (nom, email...)
3. Panneau d'information (droite)
Affiche la photo du client sélectionné à l'aide de la classe QPixmap Python - PyQt5
Montre son adresse et son métier
Contient une bannière informative sur la gestion de la relation client
Stockage des données du projet Python - PyQt5
Les données peuvent être :
Temporaires (stockées dans une liste de dictionnaires Python)
Persistantes (stockées dans un fichier ou une base de données SQLite)
Le bouton Python - PyQt5 Export Data permet de sauvegarder, tandis que Import Data permet de recharger les clients précédemment enregistrés.
Points forts du projet
Interface fluide et ergonomique du projet Python - PyQt5
Bonne utilisation de la classe QTableWidget Python - PyQt5 et des événements associés
Modularité dans le traitement des événements (sélection, mise à jour, suppression)
Affichage visuel des informations client (photo et adresse)
Compatible avec des extensions futures (gestion de base de données, tri multi-colonnes...)
Idées d'amélioration du projet Python - PyQt5
Ajouter la pagination si le nombre de clients devient important
Intégrer une base de données SQLite ou MySQL
Ajouter des filtres dynamiques et tris par colonne
Ajouter une validation des champs avant l'ajout ou la mise à jour