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:
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 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); } }
Merci d'avance ^^
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
Partager