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 :

Destruction d'un QTableWidgetItem

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 446
    Points : 43 090
    Points
    43 090
    Par défaut Destruction d'un QTableWidgetItem
    Bonjour,

    Pour supprimer un qtablewigetitem, j'ai essayé removeCellWidget(x,y). Cela fonctionne pas. Je m'en suis sorti en faisant item=tableau->item(,y) puis delete item.

    Je pense que comme son nom l'indique removeCellWidget est fait pour supprimer un widget ( label,etc..)mais un qtablewidgetItem n'est pas widget ?

    Merci pour vos éclaircissements.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Membre expérimenté

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

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    removeCellWidget, c'est pour les cellWidget.
    Sinon tu as aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete tableau->takeItem(x,y);
    Ce qui équivaut à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau->setItem(x,y,0);
    (si tu regardes le code de Qt, qtablewidget.cpp)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void QTableWidget::setItem(int row, int column, QTableWidgetItem *item)
    {
        Q_D(QTableWidget);
        if (item) {
            if (item->view != 0) {
                qWarning("QTableWidget: cannot insert an item that is already owned by another QTableWidget");
            } else {
                item->view = this;
                d->tableModel()->setItem(row, column, item);
            }
        } else {
            delete takeItem(row, column);
        }
    }

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 446
    Points : 43 090
    Points
    43 090
    Par défaut j'en conclus
    Pour répondre à ma question, un QTableWidgetItem est un élément d'un widget de type qtablewidget. Donc je comprends ma connerie.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre expérimenté

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

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Pas sûr
    En simplifié une case de QTableWidget se remplit de deux façons :
    - setItem pour y mettre des items, éléments de l'architecture modèle/vue
    - setCellWidget pour y mettre des widgets

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

Discussions similaires

  1. Destruction de QTableWidgetItem
    Par vinceouille dans le forum Débuter
    Réponses: 9
    Dernier message: 24/10/2012, 08h26
  2. Réponses: 2
    Dernier message: 17/08/2003, 20h07
  3. Probleme de destruction
    Par Merluco dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2003, 13h51
  4. Création/Destruction
    Par HT dans le forum Langage
    Réponses: 5
    Dernier message: 22/05/2003, 17h04
  5. Réponses: 7
    Dernier message: 18/04/2003, 10h02

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