+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  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 :
    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 :
    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 :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •