IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Un programme tout simple


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Par défaut Un programme tout simple
    Bonjour à tous !

    Je programme sous Qt designer.
    J'essai de comprendre pourquoi ma fenêtre ne se rafraîchit pas au bon moment.
    Mon programme est censé, lorsque j'appuis sur le button, écrire 5 fois "Boo ! " dans un textEdit à intervale d'une seconde. Or, le programme bloque 5 secondes puis écrit tous les "boo ! " à la fin.

    Savez vous où je fais mon erreur ?



    En faite, ce que je cherche à comprendre, c'est pourquoi mon text ne s'affiche qu'a la fin de la boucle et pas au moment de l'instruction (même sans le sleep). Le sleep n'est la que pour rendre la chose visible en printant le text moins rapidement.

    En effet, je travail sur un programme qui affiche une vidéo à partir de plusieurs images ".ppm". Je fais donc une boucle sur un pixmapLabel->setPixmap( QPixmap( "monimage.ppm" ) ).
    Comme pour le textEdit, les pixmap ne s'affichent pas au moment de l'instruction mais à la fin de la boucle.

    Je vous remercie de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut
    es-tu sûr que le repaint() soit nécessaire?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Par défaut
    Et bien avec le repaint ou sans cela ne marche pas...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Par défaut
    Je pense que je vais m'orienter vers le lancement d'un autre thread.

    J'ai essayé une manip en lançant un QThread qui écrit 5 fois "Boo!" dans le textEdit, à une seconde d'intervalle : Cela marche nickel.
    J'ai mis mon mythread.start() dans le main et ainsi, le thread se lance au début du programme.

    En revanche, pour lancer le thread en appuyant sur le pushButton, c'est une autre affaire...
    J'essaye d'envoyer un signal à mon QThread pour lancer le slot mythread.exec() qui lance la méthode mythread.start(), mais sans succès. Le compilateur n'aime pas l'idée d'envoyer un signal à un objet qui n'est pas un QObject.

    Vous avez une idée pour lancer le thread en appuyant sur le bouton ?

  5. #5
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    Je pense qu'il faudrait appeler QCoreApplication::processEvents(), sinon les événements qui redessinent la fenêtre se sont pas réalisés tant que tu es dans ta fonction.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Par défaut
    Je suis sous Qt3. QCoreApplication n'existe pas.

Discussions similaires

  1. Recherche code pour un programme tout simple
    Par Pierreas dans le forum Visual C++
    Réponses: 0
    Dernier message: 20/12/2010, 16h22
  2. Programme tout simple mais sans fenetre
    Par pip1000 dans le forum Débuter
    Réponses: 6
    Dernier message: 10/02/2009, 20h02
  3. Réponses: 2
    Dernier message: 06/01/2008, 00h13
  4. Programme Perl tout simple qui ne fonctionne pas
    Par jejerome dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2006, 23h58
  5. [langage] Problème tout simple
    Par marouanitos dans le forum Langage
    Réponses: 5
    Dernier message: 24/09/2003, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo