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

Discussion :

Recuperer la numero de ligne d'un QTableView

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 41
    Par défaut Recuperer la numero de ligne d'un QTableView
    Slt,

    J'ai réalisé un genre d'"historique" pour mon application.
    avec plusieurs possibilités :
    soit effacer la derniere action
    soit tout effacer
    soit effacer les n dernieres actions.

    les deux premieres fonctionnent parfaitement
    Pour la derniere, l'utilisateur définit le "n" en selectionnant l'action dans un QTableView. (j'ai utilisé les propriétés pour autoriser uniquement la selection de ligne entière)

    Toutes les actions suivantes sont supprimés.
    et voila le probleme , je n'arrive pas à récupérer le numero de la ligne que l'utilisateur selectionne.

    Auriez vous une solution ?
    Merci
    Julien

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    - Soit tu n'as pas besoin d'un QListView, et un QListWidget te suffirait : dans ce cas utilise la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QList<QTableWidgetItem *> QTableWidget::selectedItems ()
    - Soit tu as besoin d'un QListView et dans ce cas tu dois passer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QItemSelectionModel * QAbstractItemView::selectionModel ()
    Si tu es dans un cas simple (manipulation de faibles quantités de données non complexes), utilise la première solution... Si tes données sont complexes et/ou en grande quantité, un "model" est nécessaire et la seconde solution sera meilleure...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 41
    Par défaut
    C'est plus la deuxieme solution, ms je me suis mal fait comprendre (ou je n'ai pas compris ce que j'ai fait)

    J'arrive à recuperer les données de la ligne (avec ta méthode), ms comment je sais que c'est la ligne '4' ou la ligne '7'

    car pour supprimer les lignes qui suivent je veux faire
    temp="nombre total de ligne" - "numero de la ligne selectionnée"

    while(temp!=0)
    {
    undo();
    //undo supprime la derniere opération de la liste
    }

    (vive le pseudo code lol)

    merci
    Julien

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par jderam Voir le message
    J'arrive à recuperer les données de la ligne (avec ta méthode), ms comment je sais que c'est la ligne '4' ou la ligne '7'
    Utilise
    QModelIndexList QItemSelectionModel::selectedRows ( int column = 0 ) const;
    non ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 41
    Par défaut
    je suis d'accord, ms aurais tu un exemple à me montrer ?
    comment tu fais si tu veux recupérer le numero de la ligne cliquée par l'utilisateur ?

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    QModelIndexList est une liste de QModelIndex...
    Tu itères donc sur les éléments de la liste et comme il existe la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int QModelIndex::row () const ;
    tu devrais trouver les infos que tu souhaites...

Discussions similaires

  1. [VBA-E] Récupérer le numéro de ligne où se trouve un bouton
    Par Freiya dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/01/2011, 23h06
  2. Recuperer le numero de ligne d'un DATAGRID
    Par batmat dans le forum Débuter
    Réponses: 1
    Dernier message: 11/04/2008, 09h10
  3. Recuperer le numero de ligne de l'avtivecell
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/06/2007, 09h03
  4. Recuperer le numero de ligne d'une exception Python
    Par chrdou dans le forum Général Python
    Réponses: 4
    Dernier message: 28/02/2005, 16h58
  5. Réponses: 2
    Dernier message: 19/05/2004, 10h13

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