您的位置:首页 > 其它

QAbstractEventDispatcher

2015-09-29 16:39 531 查看

QAbstractEventDispatcher Class

QAbstractEventDispatcher 提供管理Qt's Event 队列的接口。

事件分发器接受来自系统和其他源的事件。然后将它们送到QCoreApplication和QApplication实例处理。它提供颗粒度的控制。

一个简单例子是: QCoreApplication::processEvents();

使用instance() 返回一个对象的实例。如果你想使用自己的QAbstractEventDispather实例,你必须要在默认的事件分发安装前,使用QCoreApplication::setEventDispatcher() or QThread::setEventDispatcher() 安装。

事件的主循环在调用QCoreApplication::exec()开始,在调用QCoreApplication::exit().

Local event loops can be created using QEventLoop.

Programs that perform long operations can call processEvents() with a bitwise OR combination of various QEventLoop::ProcessEventsFlag values to control which events should be delivered.

QAbstractEventDispatcher also allows the integration of an external event loop with the Qt event loop.

###API

QAbstractEventDispatcher(QObject * parent = 0)
~QAbstractEventDispatcher()
bool    filterNativeEvent(const QByteArray & eventType, void * message, long * result)
virtual void    flush() = 0
void    installNativeEventFilter(QAbstractNativeEventFilter * filterObj)
virtual void    interrupt() = 0
virtual bool    processEvents(QEventLoop::ProcessEventsFlags flags) = 0
virtual bool    registerEventNotifier(QWinEventNotifier * notifier) = 0
virtual void    registerSocketNotifier(QSocketNotifier * notifier) = 0
int registerTimer(int interval, Qt::TimerType timerType, QObject * object)
virtual void    registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject * object) = 0
virtual QList<TimerInfo>    registeredTimers(QObject * object) const = 0
virtual int remainingTime(int timerId) = 0
void    removeNativeEventFilter(QAbstractNativeEventFilter * filter)
virtual void    unregisterEventNotifier(QWinEventNotifier * notifier) = 0
virtual void    unregisterSocketNotifier(QSocketNotifier * notifier) = 0
virtual bool    unregisterTimer(int timerId) = 0
virtual bool    unregisterTimers(QObject * object) = 0
virtual void    wakeUp() = 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: