QT学习之路(8):事件的传递和忽略
来源:互联网 发布:改革开放 知乎 编辑:程序博客网 时间:2024/04/30 11:12
事件有两个函数,accept()和event(),前者代表该组件希望接受这个事件,这个事件将不会传播.而后者代表该组件希望忽略这个事件那么事件就会继续向它的父组件传播.所有事件都是默认为accept()的,但是在QWidget中的所有事件回调函数都是调用了ignore(),这样调用QWidegt的同名函数就会使得该事件继续传播.
在我们上一个程序中,点击文本编辑框的事件会被文本编辑框接受并且停止传播.但是现在我们自己派生了一个文本编辑框的类,并且重写事件回调函数,这样可以达到点击文本编辑框也可以显示鼠标的位置.
#ifndef QTEXTEDIT_TEST#define QTEXTEDIT_TEST#include "QMouseEvent"#include "QTextEdit"#include "QString"class QTextEdit_test:public QTextEdit{Q_OBJECTpublic: explicit QTextEdit_test(QWidget *parent = 0):QTextEdit(parent){} ~QTextEdit_test(){}protected: void mousePressEvent(QMouseEvent *event ) { QTextEdit::mousePressEvent(event); event->ignore(); }};#endif // QTEXTEDIT_TEST
0 0
- QT学习之路(8):事件的传递和忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt学习之路(20): 事件接收与忽略
- Qt 学习之路 2(19):事件的接受与忽略
- Qt 之路 (20)—事件的接收与忽略
- QT之GUI学习笔记(十五)----事件接收与忽略
- QT5 学习之路08---事件的接受与忽略
- Qt Widget重叠放置和兄弟Widget的事件传递
- Qt学习之路之鼠标事件
- Qt学习之路之鼠标事件
- 《学习Qt之路2》笔记:Qt之事件
- 有关view事件传递容易忽略的一个小问题
- 《学习Qt之路2》笔记:Qt之事件的选择
- Android导入Liblary包后报Value = 2系列错误
- Connect to localdb in Visual Studio 2015
- IOS 数组你知多少?
- C++11定义的数据类型
- Sprite3D
- QT学习之路(8):事件的传递和忽略
- iPhone - 读取工程包中的二进制文件
- @()、@[]、@{}
- Eclipse中java工程转web工程的方法
- CGRectGetMaxX/Y 使用
- 知道自己菜,所以要努力
- 2015年总结
- iOS中正则表达式的使用--NSPredicate
- linux processor and memory information commands