IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

problème affichage données QSqlRelationalTableModel vide


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Debutante python
    Inscrit en
    Mars 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutante python

    Informations forums :
    Inscription : Mars 2022
    Messages : 8
    Par défaut problème affichage données QSqlRelationalTableModel vide
    Bonjour,
    Je suis en train d'écrire un petit programme en PySide (mais les méthodes sont similaires en PyQt, c'est pourquoi je poste ma question ici).
    Je rencontre un problème pour l'affichage de données dans un QTableView avec une connexion directe à ma base de données en utilisant QSqlRelationalTableModel.
    Voici le code que j'utilise dans ma vue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    base = QtSql.QSqlDatabase.addDatabase('QSQLITE')
            base.setDatabaseName('DATA.db')
            model = QtSql.QSqlRelationalTableModel()
            model.setTable('IDEA')
            model.setEditStrategy(QtSql.QSqlRelationalTableModel.OnFieldChange)
            self.tableView = QTableView(self.verticalLayoutWidget)
            self.tableView.setModel(model)
    Cela devrait afficher dans ma fenêtre les données de ma base cependant lorsque je lance ma fenêtre j'obtiens ceci:
    Nom : problemepyqt.png
Affichages : 240
Taille : 6,0 Ko

    Les données contenus dans ma base de donnée ne s'affichent pas alors que celle-ci contient bien une ligne de données.
    J'ai tenté de régler le problème en ajoutant ma base de données au moment de l'instanciation de mon model comme ceci, comme j'ai pu le voir en recherchant sur les forums :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model = QtSql.QSqlRelationalTableModel(none,base)
    Mais cela m'a donné exactement le même résultat.
    Savez-vous d'où peut provenir le problème ?
    Cordialement.

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Septembre 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 148
    Par défaut
    Bonjour,

    Pour l'affichage d'une table SQlite3 dans un QtableView en PyQt5 j'utilise toujours le code ci-dessous qui fonctionne à merveille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
            self.model_liste_contrats = QSqlTableModel(self)
            self.model_liste_contrats.setTable("contrats")
            self.model_liste_contrats.select()
     
            self.model_liste_contrats.setHeaderData(0, Qt.Horizontal, "CODE CLIENT")
            self.model_liste_contrats.setHeaderData(1, Qt.Horizontal, "INTITULE")
            self.model_liste_contrats.setHeaderData(2, Qt.Horizontal, "ADRESSE")
     
            self.ui.table_liste_contrats.setModel(self.model_liste_contrats)
            self.ui.table_liste_contrats.resizeColumnsToContents()
            self.ui.table_liste_contrats.resizeRowsToContents()
            self.ui.table_liste_contrats.sortByColumn(0, Qt.AscendingOrder)
     
    	# Au cas où vous voulez cacher une ou plusieurs colonnes	
     
            self.ui.table_liste_contrats.hideColumn(2)
    j'espère qu'il vous aidera.

  3. #3
    Membre habitué
    Femme Profil pro
    Debutante python
    Inscrit en
    Mars 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutante python

    Informations forums :
    Inscription : Mars 2022
    Messages : 8
    Par défaut
    Merci beaucoup pour votre aide, le simple fait de rajouter l'instruction model.select() au même endroit que vous m'a permis d'afficher mes données. Problème résolu bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Etat - Access - Problème affichage données
    Par om-player dans le forum Access
    Réponses: 2
    Dernier message: 07/01/2008, 10h12
  2. Réponses: 6
    Dernier message: 12/12/2007, 19h32
  3. [MySQL] problème affichage donnée php mysql
    Par tondeuz dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 22/06/2007, 12h16
  4. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27
  5. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo