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的子类包含描述特定事件的附加参数。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值