Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

QSocketNotifier Class Reference
[QtCore module]

The QSocketNotifier class provides support for monitoring activity on a file descriptor. More...

#include <QSocketNotifier>

Inherits QObject.

Public Types

  • enum Type { Read, Write, Exception }

Public Functions

  • 28 public functions inherited from QObject

Public Slots

  • 1 public slot inherited from QObject

Signals

Additional Inherited Members

  • 1 property inherited from QObject
  • 4 static public members inherited from QObject
  • 7 protected functions inherited from QObject

Detailed Description

The QSocketNotifier class provides support for monitoring activity on a file descriptor.

The QSocketNotifier makes it possible to integrate Qt's event loop with other event loops based on file descriptors. For example, the QtCorba Solution uses it to process CORBA events. File descriptor action is detected in Qt's main event loop (QCoreApplication::exec()).

Once you have opened a device using a low-level (usually platform-specific) API, you can create a socket notifier to monitor the file descriptor. You can then connect the activated() signal to the slot you want to be called whenever an event occurs.

Although the class is called QSocketNotifier, it is normally used for other types of devices than sockets. QTcpSocket and QUdpSocket provide notification through signals, so there is normally no need to use a QSocketNotifier on them.

There are three types of socket notifiers: read, write, and exception. You must specify one of these in the constructor.

The type specifies when the activated() signal is to be emitted:

  1. QSocketNotifier::Read - There is data to be read.
  2. QSocketNotifier::Write - Data can be written.
  3. QSocketNotifier::Exception - An exception has occurred. We recommend against using this.

If you need to monitor both reads and writes for the same file descriptor, you must create two socket notifiers.

See also QFile, QProcess, QTcpSocket, and QUdpSocket.


Member Type Documentation

enum QSocketNotifier::Type

The socket notifier can be used to inform the application of the following types of event:

ConstantValueDescription
QSocketNotifier::Read0There is incoming data.
QSocketNotifier::Write1Data can be written.
QSocketNotifier::Exception2An exception has occurred.

Member Function Documentation

QSocketNotifier::QSocketNotifier ( int socket, Type type, QObject * parent = 0 )

Constructs a socket notifier with the given parent. It enables the socket, and watches for events of the given type.

It is generally advisable to explicitly enable or disable the socket notifier, especially for write notifiers.

See also setEnabled() and isEnabled().

QSocketNotifier::~QSocketNotifier ()

Destroys the socket notifier.

void QSocketNotifier::activated ( int socket )   [signal]

This signal is emitted under certain conditions specified by the notifier type():

  1. QSocketNotifier::Read - There is data to be read (socket read event).
  2. QSocketNotifier::Write - Data can be written (socket write event).
  3. QSocketNotifier::Exception - An exception has occurred (socket exception event).

The socket is the socket identifier.

See also type() and socket().

bool QSocketNotifier::isEnabled () const

Returns true if the notifier is enabled; otherwise returns false.

See also setEnabled().

void QSocketNotifier::setEnabled ( bool enable )   [slot]

If enable is true, the notifier is enabled; otherwise the notifier is disabled.

The notifier is enabled by default.

If the notifier is enabled, it emits the activated() signal whenever a socket event corresponding to its type occurs. If it is disabled, it ignores socket events (the same effect as not creating the socket notifier).

Write notifiers should normally be disabled immediately after the activated() signal has been emitted; see discussion of write notifiers in the class description above.

See also isEnabled() and activated().

int QSocketNotifier::socket () const

Returns the socket identifier specified to the constructor.

See also type().

Type QSocketNotifier::type () const

Returns the socket event type specified to the constructor.

See also socket().

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 94
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 42
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 8
Page suivante

Le Qt Labs au hasard

Logo

Utiliser OpenCL avec Qt

Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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.0
Copyright © 2012 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 !
 
 
 
 
Partenaires

Hébergement Web