比如在主Widget中写了KeyPressEvent却发现部分按键不能响应,或者全部都不能响应。

造成这个原因是因为,响应事件被其他控件劫持了(Qt中有些控件自带劫持,响应某些按键)。

解决方法:

找到这个控件,再把信号转发出去就可以了或者忽略此信号,这样父类就可能会获取到。

如下面这个例子:

主界面的是QWidget,里面放了一个QGraphicsView。

当我重写QWidget的KeyPress事件后,发现小键盘 上下左右,不能拿到,发现是QGaphicsView劫持了。

因为QGraphicView的父类是QWidget,所以这么做就能转发出去了。

void ChessBoardView::keyPressEvent(QKeyEvent *keyEvent)
{parent()->event((QEvent *)keyEvent);
}

其他的也是一样的。

或者将Event设置为ignore()

如下代码:

void ChessBoardView::keyPressEvent(QKeyEvent *keyEvent)
{
//    parent()->event((QEvent *)keyEvent);keyEvent->accept();
}

Qt笔记-解决键盘事件不能正常响应(其他响应事件通用)相关推荐

  1. Qt笔记-解决Q3DScatter加载QCustom3DItem时Cannot open the file问题

    Qt在撸3D程序的时候,这里使用c++去撸,不使用qml. 这里使用QCustom3DItem,然后使用Q3DScatter去加载的时候. 会出现这样的问题, qDebug() << &q ...

  2. Qt笔记-解决QSocketNotifier: Multiple socket notifiers for same socket xxx and type Read问题

    Qt中的socket有个descriptor的概念,这个descriptor就代表socket. 报这个错误是因为,你程序里面2个socket都绑了同一个descriptor.所以出现了问题. 我的遇 ...

  3. Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread

    原因是QTime或QTImeLine这类,多线程中创建和调用要在一个线程中. 因为构造函数在main线程中创建的,run是子线程中,所有,这部分代码的new要在run中去new就可以了.

  4. Postman|Qt笔记-解决Could not get any response

    这里Fiddler抓包是有显示的: 但Postman却提示Could not get any response 经过各种分析,发现问题出现在服务端 主要的原因就是Content-Length这个值,这 ...

  5. android按钮响应事件吗,Android 按钮响应事件的几种方式

    目录 1.在布局中指定onClick属性 布局代码 android:id="@+id/btn1" android:layout_width="wrap_content&q ...

  6. Android-解决ViewFlipper与ScrollView滑动响应事件拦截的问题【转】

    2019独角兽企业重金招聘Python工程师标准>>> 最近在做一个简单的展示界面时,遇到了一个比较棘手的问题.由于要展示多项内容,所以使用ViewFlipper作为水平滑动容器:而 ...

  7. PyQt5 鼠标点击事件(点击响应事件可自定义):鼠标单击、双击、滚轮滚动、释放、移动等

    自己写通了最常用的鼠标事件,具体响应事件,大家可以自定义,实现的效果如下: 具体代码如下,有任何问题,欢迎小伙伴们交流讨论. # -*- coding: utf-8 -*- ""& ...

  8. 【Qt】QT鼠标和键盘事件

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 鼠标事件 04. 键盘事件 05. 附录 01. 概述 事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者 ...

  9. Qt笔记(三十七)之解决QWebSocket收发中文乱码问题

    一.前言 之前介绍了基于QWebSocket实现的的服务端和客户端: Qt笔记(三十五)之QWebSocket简单使用(1)-实现服务端 Qt笔记(三十六)之QWebSocket简单使用(2)-实现客 ...

最新文章

  1. {dede:list}和{dede:arclist}的区别
  2. 为决战5G时代,小米出手一点不含糊,接连招揽牛人,这次是曾学忠
  3. windows 7搭建流媒体服务
  4. 网页javascript部分
  5. Java 重写 多态性_Java 学习(12):重写(Override)与重载(Overload) 多态
  6. linux root权限_怎样在Linux内核中埋炸弹获取root权限lt;2/2gt;终结篇
  7. multiprocessing.queue取数据要加锁么_秒杀抢购思路以及高并发下数据安全
  8. 操作系统:进程同步与互斥之生产者-消费者问题(含报告和源码)
  9. STM32使用外部SRAM扩展内存,自动在SRAM上分配内存空间的方法
  10. 2019届华为秋招面试
  11. 【基础】struct的函数操作
  12. ubuntu16.04 安装opencv的viz模块
  13. LaTeX编辑中文论文,公式、图表、参考文献添加超链接
  14. 2022第三届全国大学生网络安全精英赛练习题(2)
  15. html中visibility属性,(CSS) 不同浏览器对table中visibility属性显示的不同
  16. 基于javaweb的高校教职工差旅报销管理系统(java+ssm+jsp+html+mysql)
  17. 加法器的实现(半加器,全加器,行波进位加法器,超前进位加法器,流水线加法器)
  18. Joins – NLJ
  19. centos安装Libzip
  20. 『高可用短链服务』基于.NET开源项目SuperShortLink打造稳定可靠的短链转换系统

热门文章

  1. 高效程序猿之(三)VS2010快捷键(转)
  2. 目录管理,创建、删除、移动目录,创建、删除、移动文件
  3. 对排除VLAN中Trunk配置故障一文的补充
  4. 自动推荐图表、智能分析,这个新出的分析工具有点酷!
  5. 火狐、IE、Chrome已进入三国时代
  6. 90后程序员代码漏洞更多?
  7. 修改这个新的伪原创工具列表
  8. [强]VC 6.0 可以这样创建对话框
  9. 用V C++检测和隔离内存泄漏
  10. 程序员救赎之路:从“996”到微软“4天6小时工作制”