QAbstractEventDispatcher

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
posted @ 2015-09-29 16:39  Lnstree  阅读(1313)  评论(0编辑  收藏  举报