QEventLoopLa 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éritageHérite de QObject. Description détailléeLa 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. Typeenum QEventLoop::ProcessEventsFlagflags QEventLoop::ProcessEventsFlagsCette énumération contrôle les types d'événements traités par les fonctions processEvents().
Le type ProcessEventsFlags est un typedef pour QFlags<ProcessEventsFlag>. Il enregistre une combinaison OU de valeurs de ProcessEventsFlag. Voir aussi processEvents(). Fonctions membresQEventLoop::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 dexec(). Le cas des widgets modaux comme QMessageBox est une exception. Les widgets peuvent être utilisés avant l'appel dexec() 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 () constRenvoie 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(). 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 :
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(). RemerciementsMerci à 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 © 2024 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 ! |