- 2
- 0
- 约4.43千字
- 约 10页
- 2017-06-14 发布于河南
- 举报
学习总结201.5.23
事件处理机制
执行QApplication的exe()方法后,应用程序会进入时间循环来倾听应用程序的事件,事件来源通常是窗口系统,例如使用者的鼠标事件或键盘事件,时间来源可以使Qt应用程序事件本身,例如QTimerEvent(定时器),事件来源也可以是使用者自定义的事件,通过QApplication的sendEvent()来发送。
当事件发生时,Qt为之建立事件实例,QEvent是Qt中所有事件的基类,Qt所建立的事件实例为QEvent的子类别实例,并将之传送给QObject子类实例的event()函式,event()这个函式本身通常不直接处理事件,而是基于所有传送事件类型,分派给处理特定类型的事件处理者(Event Handler)。
QEvent是Qt中所有事件的基础类别,最常见的事件类型皆为其子类别,像是鼠标事件的QMouseEvent、键盘事件的QKeyEvent、缩放事件的QResizeEvent等,这些子类别事件皆加入特定的函数,像是鼠标事件的x(),y()函数指出发生鼠标事件时,鼠标光标的x、y坐标,键盘事件的key()函数可是取得目前所按下的按键常数。
以图形组件来说,通常我们会继承QWidget或其子类,并重新定义事件的处理函数,QWidget定义了像是keyPressEvent()、keyReleaseEvent()、mouseDou
原创力文档

文档评论(0)