<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html><head><title>QAbstractEventDispatcher Class Reference</title><style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } td.postheader { font-family: sans-serif } tr.address { font-family: sans-serif } body { background: #ffffff; color: black; } </style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr /><td align="left" valign="top" width="32"><img align="left" border="0" height="32" src="images/rb-logo.png" width="32" /></td><td width="1">  </td><td class="postheader" valign="center"><a href="../pyqt4ref.html"><font color="#004faf">Home</font></a> · <a href="classes.html"><font color="#004faf">All Classes</font></a> · <a href="modules.html"><font color="#004faf">Modules</font></a></td></table><h1 align="center">QAbstractEventDispatcher Class Reference<br /><sup><sup>[<a href="qtcore.html">QtCore</a> module]</sup></sup></h1><p>The QAbstractEventDispatcher class provides an interface to manage Qt's event queue. <a href="#details">More...</a></p> <p>Inherits <a href="qobject.html">QObject</a>.</p><h3>Methods</h3><ul><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#QAbstractEventDispatcher">__init__</a></b> (<i>self</i>, QObject <i>parent</i> = None)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#closingDown">closingDown</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#flush">flush</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qabstracteventdispatcher.html#hasPendingEvents">hasPendingEvents</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#interrupt">interrupt</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qabstracteventdispatcher.html#processEvents">processEvents</a></b> (<i>self</i>, QEventLoop.ProcessEventsFlags)</li><li><div class="fn" />list-of-tuple-of-int-int <b><a href="qabstracteventdispatcher.html#registeredTimers">registeredTimers</a></b> (<i>self</i>, QObject)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#registerSocketNotifier">registerSocketNotifier</a></b> (<i>self</i>, QSocketNotifier)</li><li><div class="fn" />int <b><a href="qabstracteventdispatcher.html#registerTimer">registerTimer</a></b> (<i>self</i>, int, QObject)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#registerTimer-2">registerTimer</a></b> (<i>self</i>, int, int, QObject)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#startingUp">startingUp</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#unregisterSocketNotifier">unregisterSocketNotifier</a></b> (<i>self</i>, QSocketNotifier)</li><li><div class="fn" />bool <b><a href="qabstracteventdispatcher.html#unregisterTimer">unregisterTimer</a></b> (<i>self</i>, int)</li><li><div class="fn" />bool <b><a href="qabstracteventdispatcher.html#unregisterTimers">unregisterTimers</a></b> (<i>self</i>, QObject)</li><li><div class="fn" /><b><a href="qabstracteventdispatcher.html#wakeUp">wakeUp</a></b> (<i>self</i>)</li></ul><h3>Static Methods</h3><ul><li><div class="fn" />QAbstractEventDispatcher <b><a href="qabstracteventdispatcher.html#instance">instance</a></b> (QThread <i>thread</i> = None)</li></ul><h3>Qt Signals</h3><ul><li><div class="fn" />void <b><a href="qabstracteventdispatcher.html#aboutToBlock">aboutToBlock</a></b> ()</li><li><div class="fn" />void <b><a href="qabstracteventdispatcher.html#awake">awake</a></b> ()</li></ul><a name="details" /><hr /><h2>Detailed Description</h2><p>The QAbstractEventDispatcher class provides an interface to manage Qt's event queue.</p> <p>An event dispatcher receives events from the window system and other sources. It then sends them to the <a href="qcoreapplication.html">QCoreApplication</a> or <a href="qapplication.html">QApplication</a> instance for processing and delivery. QAbstractEventDispatcher provides fine-grained control over event delivery.</p> <p>For simple control of event processing use <a href="qcoreapplication.html#processEvents">QCoreApplication.processEvents</a>().</p> <p>For finer control of the application's event loop, call <a href="qabstracteventdispatcher.html#instance">instance</a>() and call functions on the QAbstractEventDispatcher object that is returned. If you want to use your own instance of QAbstractEventDispatcher or of a QAbstractEventDispatcher subclass, you must create your instance <i>before</i> you create the <a href="qapplication.html">QApplication</a> object.</p> <p>The main event loop is started by calling <a href="qcoreapplication.html#exec">QCoreApplication.exec</a>(), and stopped by calling <a href="qcoreapplication.html#exit">QCoreApplication.exit</a>(). Local event loops can be created using <a href="qeventloop.html">QEventLoop</a>.</p> <p>Programs that perform long operations can call <a href="qabstracteventdispatcher.html#processEvents">processEvents</a>() with a bitwise OR combination of various <a href="qeventloop.html#ProcessEventsFlag-enum">QEventLoop.ProcessEventsFlag</a> values to control which events should be delivered.</p> <p>QAbstractEventDispatcher also allows the integration of an external event loop with the Qt event loop. For example, the <a href="http://qt.nokia.com/products/add-on-products">Motif Extension Qt Solution</a> includes a reimplementation of QAbstractEventDispatcher that merges Qt and Motif events together.</p> <p>See also <a href="qeventloop.html">QEventLoop</a> and <a href="qcoreapplication.html">QCoreApplication</a>.</p> <hr /><h2>Method Documentation</h2><h3 class="fn"><a name="QAbstractEventDispatcher" />QAbstractEventDispatcher.__init__ (<i>self</i>, <a href="qobject.html">QObject</a> <i>parent</i> = None)</h3><p>The <i>parent</i> argument, if not None, causes <i>self</i> to be owned by Qt instead of PyQt.</p><p>Constructs a new event dispatcher with the given <i>parent</i>.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/~QAbstractEventDispatcher" /> <h3 class="fn"><a name="closingDown" />QAbstractEventDispatcher.closingDown (<i>self</i>)</h3><h3 class="fn"><a name="flush" />QAbstractEventDispatcher.flush (<i>self</i>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Flushes the event queue. This normally returns almost immediately. Does nothing on platforms other than X11.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/hasPendingEvents" /> <h3 class="fn"><a name="hasPendingEvents" />bool QAbstractEventDispatcher.hasPendingEvents (<i>self</i>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Returns true if there is an event waiting; otherwise returns false.</p> <a name="//apple_ref/cpp/clm/QAbstractEventDispatcher/instance" /> <h3 class="fn"><a name="instance" /><a href="qabstracteventdispatcher.html">QAbstractEventDispatcher</a> QAbstractEventDispatcher.instance (<a href="qthread.html">QThread</a> <i>thread</i> = None)</h3><p>Returns a pointer to the event dispatcher object for the specified <i>thread</i>. If <i>thread</i> is zero, the current thread is used. If no event dispatcher exists for the specified thread, this function returns 0.</p> <p><b>Note:</b> If Qt is built without thread support, the <i>thread</i> argument is ignored.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/interrupt" /> <h3 class="fn"><a name="interrupt" />QAbstractEventDispatcher.interrupt (<i>self</i>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Interrupts event dispatching; i.e. the event dispatcher will return from <a href="qabstracteventdispatcher.html#processEvents">processEvents</a>() as soon as possible.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/processEvents" /> <h3 class="fn"><a name="processEvents" />bool QAbstractEventDispatcher.processEvents (<i>self</i>, <a href="qeventloop-processeventsflags.html">QEventLoop.ProcessEventsFlags</a>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Processes pending events that match <i>flags</i> until there are no more events to process. Returns true if an event was processed; otherwise returns false.</p> <p>This function is especially useful if you have a long running operation and want to show its progress without allowing user input; i.e. by using the <a href="qeventloop.html#ProcessEventsFlag-enum">QEventLoop.ExcludeUserInputEvents</a> flag.</p> <p>If the <a href="qeventloop.html#ProcessEventsFlag-enum">QEventLoop.WaitForMoreEvents</a> flag is set in <i>flags</i>, the behavior of this function is as follows:</p> <ul> <li>If events are available, this function returns after processing them.</li> <li>If no events are available, this function will wait until more are available and return after processing newly available events.</li> </ul> <p>If the <a href="qeventloop.html#ProcessEventsFlag-enum">QEventLoop.WaitForMoreEvents</a> flag is not set in <i>flags</i>, and no events are available, this function will return immediately.</p> <p><b>Note:</b> This function does not process events continuously; it returns after all available events are processed.</p> <p>See also <a href="qabstracteventdispatcher.html#hasPendingEvents">hasPendingEvents</a>().</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/registerSocketNotifier" /> <h3 class="fn"><a name="registeredTimers" />list-of-tuple-of-int-int QAbstractEventDispatcher.registeredTimers (<i>self</i>, <a href="qobject.html">QObject</a>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Returns a list of registered timers for <i>object</i>. The timer ID is the first member in each pair; the interval is the second.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/setEventFilter" /> <h3 class="fn"><a name="registerSocketNotifier" />QAbstractEventDispatcher.registerSocketNotifier (<i>self</i>, <a href="qsocketnotifier.html">QSocketNotifier</a>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Registers <i>notifier</i> with the event loop. Subclasses must implement this method to tie a socket notifier into another event loop.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/registerTimer" /> <h3 class="fn"><a name="registerTimer" />int QAbstractEventDispatcher.registerTimer (<i>self</i>, int, <a href="qobject.html">QObject</a>)</h3><p>Registers a timer with the specified <i>interval</i> for the given <i>object</i>.</p> <h3 class="fn"><a name="registerTimer-2" />QAbstractEventDispatcher.registerTimer (<i>self</i>, int, int, <a href="qobject.html">QObject</a>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Register a timer with the specified <i>timerId</i> and <i>interval</i> for the given <i>object</i>.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/registeredTimers" /> <h3 class="fn"><a name="startingUp" />QAbstractEventDispatcher.startingUp (<i>self</i>)</h3><h3 class="fn"><a name="unregisterSocketNotifier" />QAbstractEventDispatcher.unregisterSocketNotifier (<i>self</i>, <a href="qsocketnotifier.html">QSocketNotifier</a>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Unregisters <i>notifier</i> from the event dispatcher. Subclasses must reimplement this method to tie a socket notifier into another event loop. Reimplementations must call the base implementation.</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/unregisterTimer" /> <h3 class="fn"><a name="unregisterTimer" />bool QAbstractEventDispatcher.unregisterTimer (<i>self</i>, int)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Unregisters the timer with the given <i>timerId</i>. Returns true if successful; otherwise returns false.</p> <p>See also <a href="qabstracteventdispatcher.html#registerTimer">registerTimer</a>() and <a href="qabstracteventdispatcher.html#unregisterTimers">unregisterTimers</a>().</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/unregisterTimers" /> <h3 class="fn"><a name="unregisterTimers" />bool QAbstractEventDispatcher.unregisterTimers (<i>self</i>, <a href="qobject.html">QObject</a>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Unregisters all the timers associated with the given <i>object</i>. Returns true if all timers were successful removed; otherwise returns false.</p> <p>See also <a href="qabstracteventdispatcher.html#unregisterTimer">unregisterTimer</a>() and <a href="qabstracteventdispatcher.html#registeredTimers">registeredTimers</a>().</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/wakeUp" /> <h3 class="fn"><a name="wakeUp" />QAbstractEventDispatcher.wakeUp (<i>self</i>)</h3><p>This method is abstract and should be reimplemented in any sub-class.</p><p>Wakes up the event loop.</p> <p><b>Note:</b> This function is <a href="threads-reentrancy.html#thread-safe">thread-safe</a>.</p> <p>See also <a href="qabstracteventdispatcher.html#awake">awake</a>().</p> <p /><hr /><h2>Qt Signal Documentation</h2><h3 class="fn"><a name="aboutToBlock" />void aboutToBlock ()</h3><p>This is the default overload of this signal.</p><p>This signal is emitted before the event loop calls a function that could block.</p> <p>See also <a href="qabstracteventdispatcher.html#awake">awake</a>().</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/awake" /> <h3 class="fn"><a name="awake" />void awake ()</h3><p>This is the default overload of this signal.</p><p>This signal is emitted after the event loop returns from a function that could block.</p> <p>See also <a href="qabstracteventdispatcher.html#wakeUp">wakeUp</a>() and <a href="qabstracteventdispatcher.html#aboutToBlock">aboutToBlock</a>().</p> <a name="//apple_ref/cpp/instm/QAbstractEventDispatcher/filterEvent" /> <address><hr /><div align="center"><table border="0" cellspacing="0" width="100%"><tr class="address"><td align="left" width="25%">PyQt 4.7.4 for X11</td><td align="center" width="50%">Copyright © <a href="http://www.riverbankcomputing.com">Riverbank Computing Ltd</a> and <a href="http://www.qtsoftware.com">Nokia</a> 2010</td><td align="right" width="25%">Qt 4.6.3</td></tr></table></div></address></body></html>