Bonjour, j'ai un petit problème avec mon timer. J'ai l'erreur C2660: 'connect'ÿ: la fonction ne prends pas 4 arguments J'aimerai que ma fonction enlever1fois s'exécute toute les 3 secondes.

Voici mon .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
15
16
17
18
19
20
21
22
23
 
int noeuxpapillon::d_nbr=0;
 
void noeuxpapillon::enlever1fois(QGraphicsScene *w)
{
 
    d_queue = d_queue->d_precedent;
    w->removeItem(d_queue->d_suivant);
    d_queue->d_suivant = 0;
    d_nbr--;
 
}
 
void noeuxpapillon::enlever(QGraphicsScene *w)
{
    QTimer *timer1 = new QTimer();
    connect(timer1, SIGNAL(timeout()),this, SLOT(enlever1fois(w)));
    while (d_nbr>=0)
    {
    timer1->start(3000);
    }
 
}
et mon .h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
#ifndef NOEUXPAPILLON_H
#define NOEUXPAPILLON_H
#include <QLabel>
#include <QGraphicsView>
#include <QPixmap>
#include <QGraphicsScene>
#include <QRect>
#include <QGraphicsItem>
 
 
class noeuxpapillon: public QGraphicsPixmapItem
{
public:
    noeuxpapillon();
    ~noeuxpapillon();
    noeuxpapillon (QGraphicsScene *w);
    void ajouter (QGraphicsScene *w, int view_width, int view_height);
    void enlever (QGraphicsScene *w);
    static int d_nbr;
    static const int max_elt=3;
    noeuxpapillon * d_tete;
    noeuxpapillon * d_queue;
    static bool perdu;
 
public slots:
    void enlever1fois (QGraphicsScene *w);
 
private:
 
    noeuxpapillon * d_suivant;
    noeuxpapillon * d_precedent;
 
};
 
#endif // NOEUXPAPILLON_H
Merci d'avance ^^