QT事件循环原理

	Qt的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,转换成QEvents,并将转换后的事件发送给QObjects。
	通常,事件来自底层的窗口系统(自发的()返回true),但是也可以使用QCoreApplication::sendEvent()和QCoreApplication::postEvent()手工发送事件(自发的()返回false)。
	QObjects通过调用它们的QObject::event()函数来接收事件。该函数可以在子类中重新实现,以自定义事件处理并添加额外的事件类型;QWidget::event()就是一个显著的例子。默认情况下,事件被分派到事件处理程序,如QObject::timerEvent()和QWidget::mouseMoveEvent()。QObject::installEventFilter()允许一个对象拦截指向另一个对象的事件。
	基本QEvent只包含一个事件类型参数和一个“accept”标志。使用accept()设置接受标志,并使用ignore()清除。它是默认设置的,但不要依赖于它,因为子类可能会选择在它们的构造函数中清除它。
	QEvent的子类包含描述特定事件的附加参数。

你可能感兴趣的:(qt,开发语言)