[QT]给QApplication安装事件过滤器 app.installEventFilter
//先写一个类,命名为MyObeject 继承与QObject
class myObject:public QObject
{
public:
bool eventFilter (QObject *obj, QEvent *event) //重新实现此虚函数
{
if(event->type()==QEvent::KeyPress)
{
QKeyEvent *key=static_cast<QKeyEvent *>(event);//将QEvent类型转变为子类QKeyEvent类型,才能使用子类的key()函数
if(key->key()==Qt::Key_Escape)//如果按下的键是ESC
{
qDebug() << QString("按下了'%1'键").arg(key->key())<<"按下了 ESC 键"; //打印出消息,这里只是为了测试
qDebug() << "全局屏蔽 ESC 按键"<< "file: qapplicationeventfilter.h";
return true;
}
}
return QObject::eventFilter(obj,event);
}
};
myObject.h
main.c
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
myObject *obj= new myObject;
a.installEventFilter(obj);
MainWindow w; w.show();
return a.exec();
}
main.c
如果有人知道 (一去丶二三里: QDialog之屏蔽Esc键 http://blog.csdn.net/liang19890820/article/details/50357323).这个的处理方式,希望告知,谢谢.
[QT]给QApplication安装事件过滤器 app.installEventFilter的更多相关文章
- Qt 安装事件过滤器installEventFilter
Qt 安装事件过滤器installEventFilter (2013-01-28 14:29:18) 转载▼ 分类: 工作笔记 Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他 ...
- 【转】QT事件传递与事件过滤器
[概览] 1.重载特定事件函数. 比如: mousePressEvent(),keyPressEvent(), paintEvent() . 2.重新实现QObject::ev ...
- Qt事件系统之五:事件过滤器和事件的发送
Qt提供了事件过滤器来实现在一个部件中监控其他多个部件的事件.事件过滤器与其他部件不同,它不是一个类,只是由两个函数组成的一种操作,用来完成一个部件对其他部件的事件的监视.这两个函数分别是 insta ...
- QT designer的安装与汉化(pycharm)
QT designer的安装 1.安装好Python3的环境 添加环境变量,保证安装正确, 2.安装PyQt5 采用命令安装,Win+R,输入CMD,打开命令框,输入以下命令.后面是豆瓣的镜像地址,是 ...
- Qt Creator的安装与Qt交叉编译的配置
Qt Creator 的安装 到Qt官网下载Qt Creator https://www.qt.io/download-open-source/ 其它旧版本点击Achieve连接下载 或登录http ...
- 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)
这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...
- 关于windows下QT以及QT creator的安装
普及 之 windows下qt的安装及配置 qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...
- 利用RxJava获取手机已安装的App的图片、应用名称和版本号
先上效果图: 获取手机已安装的App列表利用Android系统API就可以办到,这里为什么要引入RxJava?现在我们假设一下有下面几个需求: 1.我们不需要所有的App,只需要用户安装的第三方App ...
- centos 下 Qt Creator 的安装使用
centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...
随机推荐
- parted 分区
Linux下的GPT分区 GPT分区 这是另外一种分区,针对MBR分区,它有很多优点: (1)几乎突破了分区个数的限制. 在GPT分区表中最多可以支持128个主分区. (2)单个分区容量几乎没有限制. ...
- maven中pom.xml解释
知识点:解释maven中,各个标签的含义 转载:http://blog.sina.com.cn/s/blog_534f69a001010lpv.html (1)Introduce maven项目的核心 ...
- 解题报告:poj1061 青蛙的约会 - 扩展欧几里得算法
青蛙的约会 writer:pprp Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 119716 Accepted: 25238 ...
- 转载 - POJ分类很好很有层次感
from http://blog.csdn.net/zzycsx/article/details/49103451 OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2 ...
- 文件load事件:img、iframe
iframe的 load 事件 在所有为IFRAME动态添加onload监听事件的方法中,只有 使用事件监听方式为 IFRAME 的 onload 事件绑定处理函数,IE6.7.8才有效.所以为 IF ...
- [Vue]实例化Vue时的两种挂载方式el与$mount
Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 1.el Vue实 ...
- mysql外键理解
一个班级的学生个人信息表: 什么是外键 在设计的时候,就给表1加入一个外键,这个外键就是表2中的学号字段,那么这样表1就是主表,表2就是子表. 外键用来干什么 为了一张表记录的数据不要太过冗余. 这和 ...
- customs event
// First create the event var myEvent = new CustomEvent("userLogin", { detail: { username: ...
- C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 04)
-------------------- interface 接口 // 定义: type IHumaner interface { SayHi() // 接口中只能是方法声明,没有实现,没有数据字段 ...
- opencv图像处理
#coding=utf-8 import cv2 import numpy as np img1 = cv2.imread("3.jpg") img2 = cv2.imread(& ...