Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > Qt
Qt Forum d'entraide technique sur la bibliothèque Qt. Avant de poster -> F.A.Q Qt
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/12/2012, 15h16   #1
CodeurNé
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 85
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 85
Points : 37
Points : 37
Envoyer un message via MSN à CodeurNé
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
CodeurNé est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2012, 15h27   #2
CodeurNé
Nouveau Membre du Club
 
Inscription : décembre 2002
Messages : 85
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 85
Points : 37
Points : 37
Envoyer un message via MSN à CodeurNé
Je viens de trouver la cause du problème, la doc dit :
Citation:
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
CodeurNé est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h27.


 
 
 
 
Partenaires

Hébergement Web