Le mapping de données avec QDataWidgetMapper SQLite:mapping de données SQLite:QDataWidgetMapper

1. Introduction

Les deux exemples précédents mettent en perspective la possibilité de faire communiquer vue et modèle et d’afficher ainsi l’ensemble d’une table dans un composant similaire à un tableau.

Il arrive fréquemment que l’on ne souhaite pas un tel rendu et que l’on désire au contraire une présentation sous forme de fiche, c’est-à-dire une vue détaillée qui correspond à une et une seule ligne d’une table ou d’un modèle. Typiquement, dans cette hypothèse, une classe comme QSqlRelationalTableModel n’est pas adaptée au besoin. Nous utiliserons ici la classe QDataWidgetMapper

La documentation de cette classe est accessible à cette adresse : https://doc.qt.io/qt-5/qdatawidgetmapper.html

2. Exemple d’utilisation

L’idée est donc ici de faire une fenêtre permettant de naviguer parmi les lignes de la table SUJET, et ce dans les deux sens de progression dans la base de données (« avant » et « arrière »). On affiche une ligne à la fois.

On commence par ajouter les imports nécessaires.

import sys  
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit,  
QPushButton 
from PyQt5.QtWidgets import QTableView, QDialog, QFormLayout,  
QDataWidgetMapper 

On ajoute à...

Pour consulter la suite, découvrez le livre suivant :
couv_EPPYQT5.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
L'utilisation de QSqlRelationalTableModel
Suivant
Introduction