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 :

QListWidget

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Par défaut QListWidget
    Salut a tous,
    J'aimerai supprimer un element dans un QListWidget, mais avant de le supprimer j'aimerai contrôler si l’élément est sélection. Mais il me signale les erreurs, voici un bout de mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        void Fenetre::suprimerElement()  
        {  
            if(lstHeader->isItemSelected(QListWidgetItem::isSelected()))  
                QMessageBox::information(this,"Information","Veuillez selectionner un element");  
            else  
                lstHeader->removeItemWidget(QListWidgetItem::isSelected());  
        }
    Merci d'avance...

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Il est où l'élément que tu veux supprimer, dans ton code, c'est quoi son nom ? (barré car j'ai compris après)

    Parce que là ton code ne veut rien dire, on sent que tu utilises des fonctions au hasard sans trop savoir ce que tu fais. Tu utilises une fonction non statique comme si elle l'était (isSelected), en plus elle renvoie un booléen et tu la passes en paramètre d'une fonction qui attend un pointeur sur item.

    J'ai du relire plusieurs fois pour comprendre ce que t'essayes de faire (mais pourquoi la fonction ne prend pas l'élément à supprimer en paramètre... ah ok c'est parce qu'en fait c'est une fonction qui supprime l'élément sélectionné...).

    Donc en fait depuis ta liste, tu dois récupérer la liste des items sélectionnés et les supprimer. Si y'a pas d'item dans la liste ( isEmpty() ), aucun ne sera supprimé, et c'est le cas où tu voulais mettre un message d'information.

    Je te donne le code mais il faut vraiment que tu comprennes tout (tes erreurs et cette solution, lis la documentation (l'aide) des fonctions utilisées aussi) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void Fenetre::supprimerElementSelectionne()  
    {
        QList<QListWidgetItem*> selection = lstHeader->selectedItems();
     
        if ( selection.isEmpty() )  
            QMessageBox::information ( this, "Information", "Veuillez selectionner un element" );  
        else
            foreach ( QListWidgetItem* element, selection ) {
                lstHeader->removeItemWidget ( element );
            }
    }

Discussions similaires

  1. QListWidget : retirer un item
    Par Chaos_Clad dans le forum Qt
    Réponses: 12
    Dernier message: 18/06/2008, 16h04
  2. Récupération d'items avec QListWidget
    Par leviathan516 dans le forum PyQt
    Réponses: 2
    Dernier message: 20/02/2008, 22h25
  3. aide pour QListWidget
    Par haw007 dans le forum Qt
    Réponses: 1
    Dernier message: 31/12/2007, 14h23
  4. scrolling automatique avec QListWidget
    Par kanigoo dans le forum Qt
    Réponses: 2
    Dernier message: 03/12/2006, 06h47

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