您的位置:首页 > 财经 > 金融 > 【Qt】事件的概念

【Qt】事件的概念

2024/11/17 19:39:31 来源:https://blog.csdn.net/dab112/article/details/141899327  浏览:    关键词:【Qt】事件的概念

        在Qt中有一种特殊的机制——信号槽,用户进行的各种操作,就可能会产生出信号,可以给某个信号指定槽函数,当信号触发时,就能够自动的执行到对应的槽函数。

        事件与信号槽非常类似,用户进行的各种操作也就产生事件,程序员同样可以给事件关联上处理函数(处理的逻辑),当事件触发的时候,就能执行到对应的代码。

事件本身是操作系统提供的机制。Qt也同样把操作系统事件机制进行了封装,拿到了Qt里面,但是由于事件对应的代码编写起来不是很方便,所以Qt对于事件这样的机制又进一步的封装,就得到了信号槽。

也就是说,信号槽就是对于事件的进一步封装,事件是信号槽的底层机制。

实际Qt开发程序过程中,绝大部分和用户之间进行的交互都是通过“信号槽”来完成的。但是有些特殊情况下,信号槽不一定能搞定(某个用户的动作行为,Qt没有提供对应的信号),此时就需要通过重写事件处理函数的形式,来手动处理事件的响应逻辑。

开放事件机制可以根据实际的需要进行更深度的定制化 diy 操作了。

用户进行很多操作,就会产生很多事件,当然也会产生很多信号。

 

        事件是应用程序内部或者外部产生的事情或者动作的通常。在 Qt 中使⽤⼀个对象来表⽰⼀个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本⾝在不同的时刻发出的。当⽤⼾按下⿏标、敲下键盘,或者是窗⼝需要重新绘制的时候,都会发出⼀个相应的事件。⼀些事件是在⽤⼾操作时发出,如键盘事件、⿏标事件等,另⼀些事件则是由系统本⾝⾃动发出,如定时器事件。

不同场景下,需要关注的点是不一样的,这些事件的子类中就会包含一些对应的不同的属性。

常见事件描述:
 

事件名称描述

⿏标事件

⿏标左键、⿏标右键、⿏标滚轮,⿏标的移动,⿏标按键的按下和松开

键盘事件

按键类型、按键按下、按键松开

定时器事件

定时时间到达

进⼊离开事件

⿏标的进⼊和离开

滚轮事件

⿏标滚轮滚动

绘屏事件

重绘屏幕的某些部分

显⽰隐藏事件

窗⼝的显⽰和隐藏

移动事件

窗⼝位置的变化

窗⼝事件

是否为当前窗⼝

⼤⼩改变事件

窗⼝⼤⼩改变

焦点事件

键盘焦点移动

拖拽事件

⽤⿏标进⾏拖拽

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com