IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QEventLoop

La classe QEventLoop permet d'entrer dans une boucle d'�v�nements et d'en sortir. Plus d'informations...

#include <QEventLoop>

Voir la position dans l'arbre des classes.

  

H�ritage

H�rite de QObject.

Description d�taill�e

La classe QEventLoop permet d'entrer dans une boucle d'�v�nements et d'en sortir.

� tout moment, vous pouvez cr�er un objet QEventLoop et appeler exec() sur lui pour d�marrer une boucle d'�v�nements locale. Depuis la boucle d'�v�nements, l'appel de exit() forcera la sortie de la fonction exec().

Voir aussi QAbstractEventDispatcher.

Type

enum QEventLoop::ProcessEventsFlagflags QEventLoop::ProcessEventsFlags

Cette �num�ration contr�le les types d'�v�nements trait�s par les fonctions processEvents().

Constante Valeur Description
QEventLoop::AllEvents 0x00 Tous les �v�nements. Notez que les �v�nements DeferredDelete font l'objet d'un traitement sp�cial. Voir QObject::deleteLater() pour plus de d�tails.
QEventLoop::ExcludeUserInputEvents 0x01 Ne pas traiter les entr�es utilisateur, comme ButtonPress et KeyPress. Notez que les �v�nements ne sont pas annul�s ; ils seront envoy�s la prochaine fois que processEvents() sera appel� sans le drapeau ExcludeUserInputEvents.
QEventLoop::ExcludeSocketNotifiers 0x02 Ne pas traiter les �v�nements de notification des sockets (r�seau). Notez que les �v�nements ne sont pas annul�s ; ils seront envoy�s la prochaine fois que processEvents() sera appel� sans le drapeau ExcludeUserInputEvents.
QEventLoop::WaitForMoreEvents 0x04 Attendre les �v�nements si aucun �v�nement n'est actuellement disponible.
QEventLoop::DeferredDeletion 0x10 obsol�te - ne pas utiliser.

Le type ProcessEventsFlags est un typedef pour QFlags<ProcessEventsFlag>. Il enregistre une combinaison OU de valeurs de ProcessEventsFlag.

Voir aussi processEvents().

Fonctions membres

QEventLoop::QEventLoop ( QObject * parent = 0 )

Construit un objet boucle d'�v�nements avec le parent donn�.

QEventLoop::~QEventLoop ()

D�truit l'objet boucle d'�v�nements.

int QEventLoop::exec ( ProcessEventsFlags flags = AllEvents )

Entre dans la boucle d'�v�nements principale et attend que exit() soit appel�. Renvoie la valeur pass�e � exit().

Si des flags sont sp�cifi�s, seuls les �v�nements des types autoris�s par les flags seront trait�s.

Il est n�cessaire d'appeler cette fonction pour commencer le traitement des �v�nements. La boucle d'�v�nements principale re�oit des �v�nements depuis le syst�me de fen�tres et les transmet aux widgets de l'application.

De mani�re g�n�rale, aucune interaction avec l'utilisateur ne peut se faire avant l'appel d‹exec(). Le cas des widgets modaux comme QMessageBox est une exception. Les widgets peuvent �tre utilis�s avant l'appel d‹exec() car ils poss�dent leur propre boucle d'�v�nements locale.

Pour que votre application ex�cute une t�che de fond (c'est-�-dire ex�cuter une fonction sp�ciale si aucun �v�nement n'est en attente), utilisez un QTimer avec une minuterie de z�ro. Vous pouvez cr�er des traitements de t�che de fond plus sophistiqu�s en utilisant processEvents().

Voir aussi QApplication::quit(), exit() et processEvents().

void QEventLoop::exit ( int returnCode = 0 )

Demande � la boucle d'�v�nements de se terminer avec un code de retour.

Apr�s l'appel de cette fonction, la boucle d'�v�nements sort de l'appel � exec(). La fonction exec() renvoie returnCode.

Par convention, un returnCode de z�ro indique un succ�s et un code diff�rent de z�ro un �chec.

Notez que contrairement � la fonction de la biblioth�que C du m�me nom, cette fonction rend la main � l'appelant : c'est le traitement des �v�nements qui s'arr�te.

Voir aussi QCoreApplication::quit(), quit() et exec().

bool QEventLoop::isRunning () const

Renvoie true si la boucle d'�v�nements est en cours d'ex�cution ; sinon renvoie false. La boucle d'�v�nements est consid�r�e en cours d'ex�cution depuis l'appel � exec() jusqu'� l'appel � exit().

Voir aussi exec() et exit().

bool QEventLoop::processEvents ( ProcessEventsFlags flags = AllEvents )

Traite les �v�nements en attente correspondant � flags jusqu'� ce que tous les �v�nements soient trait�s. Renvoie true si les �v�nements en attente ont �t� trait�s ; sinon renvoie false.

Cette fonction est particuli�rement utile si vous avez une op�ration longue � traiter et que vous voulez afficher son avancement sans autoriser les entr�es utilisateur, par exemple en utilisant le drapeau ExcludeUserInputEvents.

Cette fonction est un simple habillage de QAbstractEventDispatcher::processEvents(). Voir la documentation de cette fonction pour plus de d�tails.

void QEventLoop::processEvents ( ProcessEventsFlags flags, int maxTime )

Traite les �v�nements en attente correspondant � flags pendant un maximum de maxTime millisecondes ou jusqu'� ce que tous les �v�nements soient trait�s, selon ce qui est le plus court. Cette fonction est particuli�rement utile si vous avez une op�ration longue � traiter et que vous voulez afficher son avancement sans autoriser les entr�es utilisateur, par exemple en utilisant le drapeau ExcludeUserInputEvents.

Notes : 

  • cette fonction ne traite pas les �v�nements en continu ; elle se termine lorsque tous les �v�nements disponibles ont �t� trait�s ;
  • l'activation du drapeau WaitForMoreEvents n'a pas de sens et sera ignor�.

void QEventLoop::quit () [slot]

Demande � la boucle d'�v�nements de se terminer normalement.

�quivalent � exit(0).

Voir aussi QCoreApplication::quit() et exit().

void QEventLoop::wakeUp ()

R�veille la boucle d'�v�nements.

Voir aussi QAbstractEventDispatcher::wakeUp().

Remerciements

Merci � Ilya Diallo pour la traduction et � Jonathan Courtois, Claude Leloup et Jacques Thery pour leur relecture !

Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. Qt 4.7
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD.
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP !