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

Discussion :

Modification du curseur pendant un traitement

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 318
    Par défaut Modification du curseur pendant un traitement
    Bonjour,

    J'ai un prob. de remplacement de curseur pendant un traitement.

    Je souhaites mettre en place un waitcursor durant le temps de traitement de slots appelés à partir d'un menu.

    voici la structure de mes slots concernés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    zonecentrale->setCursor(QCursor(Qt::WaitCursor));
    ...traitements
    zonecentrale->setCursor(QCursor(Qt::CrossCursor));
    L'affichage du curseur ne change pas.

    J'ai essayé aussi avec QApplication::setOverrideCursor( Qt::WaitCursor ); puis QApplication::restoreOverrideCursor(); : idem.

    Je pense à un prob d'event ne se déclenchant qu'après la fin du slot et donc les 2 setcursor se suivraient ou alors à un délai minimum de rafraichissement, mes traitements ne durant pour le moment 1 à 3 secondes.

    Je ne sais pas si cela importe maos au cas ou : zonecentrale est un QWiget utilisé avec setCentralWidget dans une QMainWindow.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 318
    Par défaut j'ai trouvé
    C'était bien un prob d'event qui n'était pas traité tout de suite.

    Voici ce que j'ai mis après la modif du curseur avec setcursor

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QCoreApplication::processEvents (QEventLoop::AllEvents);
    On peut alle rplus loin en spécifiant des events précis, moi je traite tous les events dans la boucle, de toute façon iuls devront l'être.

    Pour ceux qui s'interessent aux traitemtents des QEvents :

    http://doc.qt.digia.com/qq/qq11-events.html
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] forcer l'affichage pendant un traitement
    Par lacsap49 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/06/2006, 18h26
  2. Réponses: 1
    Dernier message: 28/01/2006, 14h03
  3. modification du curseur d'un controle
    Par sofiane44 dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2006, 09h54
  4. [vb.net] Modification d'une winform pendant un traitement
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/11/2005, 18h16
  5. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 15h13

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