第38课 - Qt 中的事件处理(上)
来源:互联网 发布:淘宝卖家进入 编辑:程序博客网 时间:2024/05/18 01:48
一、GUI应用程序回顾
1、GUI应用程序的特点:
1:需要操作系统的支持
2:需要用户的操作来获取功能
2、GUI消息处理过程:
1:用户进行操作
2:然后是操作系统首先感知到用户的操作,而不是GUI应用程序首先感知到用户的操作
3:之后操作系统将系统消息传输到GUI应用程序的消息处理函数上,响应用户的操作
3、Qt也是一种GUI,那么用户操作产生的系统消息和Qt信号是一样的吗?
答案是否定的。系统消息是操作系统产生的,而Qt信号是GUI应用程序自己定义的一种信号。
4、那么操作系统发送的系统消息是如何转化为Qt消息的呢?
二、Qt中的事件处理
- Qt平台将系统产生的消息转换为Qt事件
- Qt事件是一个QEvent对象
- Qt事件用于描述程序内部或者外部发生的动作
- (Qt事件发生了就需要处理,那么谁来处理呢?)
- 任意的QObject对象都具备事件处理的能力。
1、Qt中的事件处理过程:
(当用户操作后,操作系统将系统消息传送给GUI应用程序,这时候就会产生一个Qt事件,接下来的事情就从上图展开。。。
需要注意的是:Qt事件被发送到QWidget对象,比如是按键事件,那么就会被发送到按键这个QWidget对象上,每一个QWidget对象都有一个event成员函数,这个evevt成员函数就会根据事件的类型调用不同的事件处理子函数,这个事件处理子函数一方面更新GUI界面,另一方面就是发送Qt中预定义的信号,而这个信号就是关联的对应的槽函数。)
2、场景分析(以QPushButton为例)
event调用了子函数mouseReleaseEvent成员函数,mouseReleaseEvent成员函数又调用了click()函数,而click函数就可以产生Qt预定义的clicked()信号。
0 0
- 第38课 - Qt 中的事件处理(上)
- qt中的事件处理
- Qt中的事件处理
- Qt中的事件处理
- Qt中的事件处理机制
- 初步剖析QT事件处理过程(Windows)(上)
- (二十八)Qt中的事件处理
- 第3章 JavaScript事件处理(上)
- 用 Qt 中的 QDomDocument类 处理 XML 文件(上)
- Qt事件处理(五)
- Qt事件处理(一)
- Qt事件处理(二)
- Qt事件处理(三)
- Qt事件处理(四)
- Qt事件处理(五)
- QT中的界面跳转,事件处理过程思考
- Qt学习笔记(六) 事件处理
- Qt 事件处理机制 (上篇)
- EasyUI 页面加载等待
- js实现跨域访问
- android menu菜单设置
- 0106
- 使用CMD命令行打 jar包
- 第38课 - Qt 中的事件处理(上)
- C++ 虚函数列表应用
- 证明Fesitel 结构的正确性
- Android 开发基础课程设计---手机文件管理系统
- ServletContext与Web应用范围
- Android View源码解读:浅谈DecorView与ViewRootImpl
- vs2012注册码
- (二十三)进程——获取进程id相关函数的介绍和使用
- java正则表达式