Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.7.1 - Qt Creator : 4.2.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt4] Afficher le sablier pendant un laps de temps

Bonjour,

Au sein d'une boîte de dialogue, je dois réaliser un traitement qui peut prendre un peu de temps, après que l'utilisateur ait cliqué sur un bouton. Je souhaite donc que le pointeur de la souris prenne l'apparence du sablier défini dans le système hôte, puis reprenne l'apparence du pointeur normal à la fin du traitement.

J'utilise les bibliothèque QT 4.2.1.

J'ai essayé ce code mais il n'a aucun effet :
....
QCursor *cur = new QCursor();
cur->setShape(Qt::WaitCursor);

... traitement ...

cur->setShape(Qt::ArrowCursor);
J'ai eu beau chercher sur le forum ou sur internet, je n'ai trouvé aucun exemple.

Merci d'avance à tous pour votre aide !

Réponses

  • C'est pour Qt 3 mais ... ca peut toujours t'aider :


    http://www.up.univ-mrs.fr/cpp/V2/QtExtras/Qt06t.pdf
  • Merci bien pour l'info ! Je teste ça demain et vous tiens informés.
  • C'est bien ca :

    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
    QApplication::restoreOverrideCursor();
  • Salut,

    Un simple
    QApplication::setOverrideCursor( Qt::WaitCursor ); // changer de curseur
    QApplication::restoreOverrideCursor(); // restaurer le curseur
    A noter que cela change le curseur global de l'application.
    Pour changer le curseur d'un widget ( ou dialog ) particulier :
    Widget->setCursor( Qt::WaitCursor ); // pour changer le curseur d'un widget
    // pour restaurer je ne sais plus, mais la doc te le dira ;)
    P@sNox,
  • Merci à vous !
  • Juste un petit mot pour vous confirmer que les lignes de code que vous m'aviez proposé
    QApplication::setOverrideCursor( Qt::WaitCursor ); // changer de curseur
    QApplication::restoreOverrideCursor(); // restaurer le curseur
    fonctionnent nickel ! Merci à vous !
Connectez-vous ou Inscrivez-vous pour répondre.