Boucle while Qt

Fermé
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 - 31 mai 2009 à 17:01
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 - 2 juin 2009 à 17:19
Bonjour,
j'apprend le c++ et Qt , pour apprendre je passe le plus possible par une interface graphique, j'ai réussi a faire apparaitre un rectangle mai je n'arrive pas a faire une boucle en déplacent mon rectangle en x
voici le code :

#include <QtGui>
#include <QGraphicsView>
#include <QGraphicsItem>
#include <QGraphicsScene>

int main(int argc, char **argv)
{

int x=10;
int y=50;

QApplication a(argc, argv); //QApplication gère l'interface graphique de l'application

QGraphicsScene c1(0,0,320,240); //QGraphicsScene gére un grand nombre d'éléments graphiques en 2D

while ( TRUE)

{

QGraphicsView vue(&c1); //QGraphicsView fournit un widget pour afficher le contenu d'un QGraphicsScene.

c1.addRect(x,y,100,40); //crée un rectangle avec un marge a gauche de 10 et un marge en haut de 20. Le rectangle fait 100 par 40

vue.show();

return a.exec();

x=x+1


}

}

merci de votre aide

10 réponses

dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
1 juin 2009 à 11:40
up
1
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
1 juin 2009 à 22:32
Si tu fais une boucle infinie, il faut que tu autorise des sorties dedans, et surtout du temps pour les autres tâches du programme.

En VB6 on utilise par exemple l'instruction DoEvents.

Dans la plupart des autres langages il faut utiliser des Threads !

Mais qu'est ce que c'est : https://lmgtfy.app/?q=threads

Comment en faire en QT4 : https://lmgtfy.app/?q=threads+qt4

Et juste en C++ : href= http://lmgtfy.com/?q=threads+c%2B%2B' target='_blank' rel='nofollow'>https://lmgtfy.app/?q=threads+https://lmgtfy.app/?q=threads+c%2B%2B</a>

Donc voilà bonne chance et bonne continuation ;)


Et pour finir en beauté voici un lien assez sympa qui te permettra très vite d'utiliser des Threads dans ton projet :
http://sector.ynet.sk/qt4-tutorial/threads.html
1
ninouhhichem Messages postés 201 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 21 juin 2009 9
31 mai 2009 à 18:17
slt,
while ( TRUE)
condition tous jour verifier c-a-d un boucle infinie
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
31 mai 2009 à 22:20
oui je sais comment sa fonctionne seulement je ne sais pas m'adapter au code c++ Qt, j'ai donc besoin d'aide svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
31 mai 2009 à 22:35
Remplace while(TRUE) par for(x=10; x<30; x++)

et supprime la ligne x=x+1 dans cette même boucle.

Sinon un petit tuto sympa pour commencer avec QT :
http://www.clivecooper.co.uk/tutorial/index.html

Il utilise l'IDE QDevelop qui est multi-plateforme (windows, mac, linux, ...).
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
31 mai 2009 à 23:04
dsl mai mon but est de rester en boucle infini pour pouvoir par la suite sortir a tout moment, merci quand meme
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
1 juin 2009 à 13:19
up
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
1 juin 2009 à 14:46
up
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
1 juin 2009 à 21:02
...
0
dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
2 juin 2009 à 17:19
Merci scriptiz
0