p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre du Club
    Inscrit en
    décembre 2002
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : décembre 2002
    Messages : 89
    Points : 41
    Points
    41

    Par défaut Signal et slot pour un QTreeWidget

    Bonjour,
    dans mon programme j'ai fait un QtreeWidget dont je voudrais connecter le signal itemDoubleClicked ( QTreeWidgetItem * item, int column ) à mon slot.le programme compile sans erreur mais quand on double-click sur ces QTreeWidgetItem j'ai l'impression que ce signal n'est pas connecter à mon slot.
    voici le bout de code concerné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     	 QTreeWidget *treeWidget = new QTreeWidget();
     	 treeWidget->setColumnCount(1);
     
     	 QList<QTreeWidgetItem *> items;
         items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList("Ping and Trace...")));
         items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList("Configuration Archive...")));
         items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList("System Reload...")));
         items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList("Telnet..")));
     	 treeWidget->insertTopLevelItems(0, items);
     	 treeWidget->header()->hide();
     	 //---
     	 connect(treeWidget,SIGNAL(itemDoubleClicked( QTreeWidgetItem * item, int column )), this, SLOT(MaintenanceClicked( QTreeWidgetItem * item, int column )));
    et dans mon slot MaintenanceClicked() je ne fait qu'afficher à l'aide de qDebug()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void MainWindow::MaintenanceClicked( QTreeWidgetItem * item, int column ){
    	 qDebug() << "Item : " << item->text(column);
     }
    je ne comprends pas pourquoi je n'affiche rien.
    quelqu'un peut m'expliquer ?
    merci.
    si vous vous emmerdez codez codez et codez ça passera

  2. #2
    Membre du Club
    Inscrit en
    décembre 2002
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : décembre 2002
    Messages : 89
    Points : 41
    Points
    41

    Par défaut

    Je viens de trouver la cause du problème, la doc dit :
    DO NOT USE VAR NAMES WITHIN SIGNAL() AND/OR SLOT()
    donc j'ai enlevé les noms item et column dans l'appel de connect et ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(treeWidget,SIGNAL(itemDoubleClicked( QTreeWidgetItem * , int )), this, SLOT(MaintenanceClicked( QTreeWidgetItem *, int  )));
    si vous vous emmerdez codez codez et codez ça passera

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/04/2012, 22h58
  2. probleme de code Qt: signal and Slot
    Par vivh349 dans le forum Qt
    Réponses: 10
    Dernier message: 08/07/2009, 12h17
  3. signal d'erreur pour la dclaration d'un tableau
    Par sandball22 dans le forum C
    Réponses: 2
    Dernier message: 20/04/2007, 11h03
  4. connect Signal et slot perso
    Par freecircus dans le forum Qt
    Réponses: 3
    Dernier message: 13/12/2006, 20h25

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