Salut!
Je glisse d'abord le code:
La fonction evoyerTrame:
Le constructeur Trame:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void Station::envoyerTrame(Station *stat_dest) { Trame *tr=new Trame(this,stat_dest); scene_stat->addItem(tr); tr->versDest(); // je fais appel à la fonction versDest. }
Le slot versDest:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Trame::Trame(Station *sour,Station *dest) { source=sour; destination=dest; timer=new QTimer; connect(timer,SIGNAL(timeout()),this,SLOT(versDest())); timer->start(1000); }
J'explique:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void Trame::versDest() { this->moveBy(10,0); }
- Le truc est assez simple, ce que j'essaie de faire c'est de déplacer la trame "tr"(de type Trame qui hérite de QGraphicsItem) de 10 sur ma scéne chauque 1 seconde.
- Le timer "timer" est dynamiquement créé dans le constructeur Trame().
Problème:
- la trame "tr" s'ajoute très bien sur ma scène, mais elle ne bouge pas.
- Un truc bizarre qui arrive, c'est que à chaque fois que je réduit la fenêtre de l'application je vois l'objet "tr" bouger (Je ne sais pas si ça a un relation avec tout ça)
Merci pour votre aide.![]()
Partager