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

Qt Discussion :

Ajouter une colonne contenant des images dans un QTableView


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut Ajouter une colonne contenant des images dans un QTableView
    Bonjour à tous,

    J'utilise actuellement un QTableView avec un QSqlRelationalTableModel pour pouvoir afficher et modifier le contenu d'une base de données SQL.
    Le problème est que j'aimerais insérer une colonne en fin du QTableView contenant des images associées à chaque ligne.
    J'ajoute la colonne avec la fonction insertColomn du QSqlRelationalTableModel, celle ci apparait bien à la creation du widget mais disparait dès que j'interagis avec mon QTableView. J'imagine que pour ajouter une colonne de plus que celles contenues dans ma base SQL, il faille re-implémenté un model héritant de QSqlRelationalTableModel.
    Quelqu'un aurait-il une idée sur la marche à suivre?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Par défaut
    Salut,

    Je n'ai pas testé, mais tu peux peut-être utiliser un QTableWidget à la place de ton QTableView. Ça te permettrait d'utiliser la fonction insertColumn() du QTableWidget, et tu n'aurais peut-être plus le même problème. A tester !

    Bonne chance
    A+

  3. #3
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Quels sont les fonctionnalités que tu utilises dans cette classe? Tu fais que de l'affichage, tu édites?

  4. #4
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Je n'ai pas testé, mais tu peux peut-être utiliser un QTableWidget à la place de ton QTableView. Ça te permettrait d'utiliser la fonction insertColumn() du QTableWidget, et tu n'aurais peut-être plus le même problème. A tester !
    En fait j'aimerais vraiment conserver le QTableView pour exploiter la puissance du QSQLTableModel...
    Quels sont les fonctionnalités que tu utilises dans cette classe? Tu fais que de l'affichage, tu édites?
    On s'en sert pour les deux: affichage du contenu de la base et modification via les widget générés par le QSQLTableModel (notamment les QComboBox représentant une énumération via clé étrangère dans la base de données).
    Mas bon, si c'est vraiment misérable à utiliser (et ca semble l'être) on va peut être switcher sur le QTableWidget.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Par défaut
    Citation Envoyé par vikki Voir le message
    En fait j'aimerais vraiment conserver le QTableView pour exploiter la puissance du QSQLTableModel...
    QTableWidget hérite de QTableView... Tu ne peux donc pas perdre des fonctionnalités, seulement en gagner . De plus tu n'es pas obligé de réécrire ton code...

    Bonne chance

  6. #6
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Citation Envoyé par vikki Voir le message
    On s'en sert pour les deux: affichage du contenu de la base et modification via les widget générés par le QSQLTableModel (notamment les QComboBox représentant une énumération via clé étrangère dans la base de données).
    Mas bon, si c'est vraiment misérable à utiliser (et ca semble l'être) on va peut être switcher sur le QTableWidget.
    Au risque de me faire des ennemis, je trouve que ces classes SQLModel, hormis pour du prototypage, ne valent pas grand chose. Le support pour la validation métier est assez limité, sitôt qu'on s'éloigne de la présentation 1:1 entre la table SQL et la table Qt ça devient la galère.

    bref j'implémenterai mon propre modèle à ta place.

  7. #7
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Bon, après de nombreux jours de tests, j'enfile ma camisole et me tape la tête contre un mur. Les classes SQLModel sont vraiment infâmes, on est d'accords. C'est ballot, on a déjà tous développé autour d'elles donc on va les garder quand même, mais on évite les petites subtilités du genre "et si je voulais insérer dans ma table view..."

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2011, 10h00
  2. Réponses: 7
    Dernier message: 14/02/2011, 00h53
  3. actualiser une DIV contenant des images
    Par jc_cornic dans le forum Langage
    Réponses: 6
    Dernier message: 21/10/2006, 15h42
  4. Ajouter une colonne (par du code) dans Listview
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2005, 17h39

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