问题描述:

1、程序的QDialog窗口按下回车竟然关闭了,感觉跟奇怪,不知道为什么。
2、最后想要通过重写QDialog的keyPressEvent屏蔽调回车键,结果Return和Enter傻傻分不清楚。
3、Return和Enter搞清楚了之后发现键盘事件竟然接收不到回车键。
这就一个问题引出来另外两个问题了,最后才傻傻的搞清楚。

解释(让我们倒着解释):

关于问题3的解释:

因为QDialog中存在控件的focusPolicy是Qt::StrongFocus,不光导致QDialog的键盘事件接受不到回车键,方向键也接收不到。

关于问题3的解决方案:

QDialog初始化时,设置:

setFocusPolicy(Qt::StrongFocus);


关于问题2的解释:

大键盘上的回车键是Qt::Key_Return;
小键盘上的回车键是Qt::Key_Enter;

关于问题2的解决方案:

判断正确就好了。

关于问题1的解释:

因为QDialog的窗口中有一个QPushButton,该按钮的点击信号槽连接到窗口关闭操作,而且该按钮的focusPolicy是Qt::StrongFocus。正是因为这哥focusPolicy和该按钮连接的信号槽导致了回车关闭。

关于问题1的解决方案:

  1. QDialog弹出时把QPushButton的focusPolicy设置为Qt::NoFocus。
  2. 者重写QDialog的键盘事件将回车键屏蔽掉。

总结:

害,你说下键不下键

Qt问题:QDilog按下回车键竟然关闭了,想屏蔽Return键结果和Enter键弄反了,最后还接收不到Return的键盘事件了,气人不相关推荐

  1. 非Root环境下安卓实现全屏,屏蔽下方虚拟按键:左键、右键。较新安卓系统无法屏蔽Home键。源代码例子

    非Root环境下安卓实现全屏,屏蔽下方虚拟按键:左键.右键.较新安卓系统无法屏蔽Home键. 全屏后,用户上划之后点击虚拟按键如图所示: 代码中分三部分: 1.隐藏屏幕下方的虚拟按键,并且全屏.   ...

  2. 按下enter键在各个文本框中切换焦点_你真的了解Enter键吗?请先学习本文后再回答...

    回车键Enter,应该是工作办公和娱乐中应用最多的键了,但是你真的了解吗? 一.回车键Enter:粘贴数据. 目的:粘贴复制的数据. 方法: 1.选定目标单元格并复制数据. 2.在目标单元格按Ente ...

  3. Qt使用键盘事件实现ESC键退出Halcon的绘图流程

    1.介绍 Halcon中的执行绘图算子draw_circlr或draw_rectangle1等算子在绘制图形时,单击鼠标左键进行绘图,点击右键确认图形,点击右键之前就进行等待动作,但是在MFC/Qt等 ...

  4. QTableWidget编辑单元格内容,按下回车键使焦点转到下一个单元格

    编辑QTableWidget单元格内容按回车键后,使焦点从当前单元格转到下一个单元格. 先上效果: 方法: 为了在按Enter键时使焦点从表中的一个单元格转到下一个单元格,可以重新实现代理的event ...

  5. 解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

    2019独角兽企业重金招聘Python工程师标准>>> ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 fcitx), 即使下载 ...

  6. arm qt mysql插件_Ubuntu下编译ARM平台Qt的MySQL插件

    最近需要将一个程序移植到arm平台上,程序调用了MySQL数据库,所以就牵扯到将MySQL数据库移植到ARM平台上面,所以在网上大量查阅资料.在baidu文库发现了一篇文档,是wlzxlc上传的文档名 ...

  7. Win10计算机窗口空白,Win10系统下启用或关闭windows功能打开后显示空白如何解决...

    最近有win10系统用户在打开启用或关闭windows功能要进行操作的时候,发现打开后显示一片空白,导致无法任何操作,该怎么办呢,本文就给大家讲解一下Win10系统下启用或关闭windows功能打开后 ...

  8. windows下DOS命令关闭占用的端口

    windows下DOS命令关闭占用的端口 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用. ...

  9. 在浏览器中输入URL按下回车键后发生了什么

    在浏览器中输入URL按下回车键后发生了什么 [1]解析URL [2]DNS查询,解析域名,将域名解析为IP地址 [3]ARP广播,根据IP地址来解析MAC地址 [4]分别从应用层到传输层.网络层和数据 ...

最新文章

  1. 英特尔AI医疗实战手册曝光:医生诊断提速10倍,推理时间减少85%
  2. anjuta 连接mysql_ubuntu系统下如何实现C/C++开发环境搭建(IDE)
  3. 灵格斯(lingoes)去广告方法
  4. c语言学习进阶-C语言程序实现矩阵乘法
  5. 为什么基类的析构函数是虚函数?
  6. python导入data数据_python实现从wind导入数据
  7. 力扣-274 H 指数
  8. python 模拟登录博客园并且自动发布一篇文章
  9. 8个Python小游戏,可以上班摸鱼玩一天
  10. html2json文档,插件 jQuery.json2html 中文 API 文档
  11. 尝试修改smali码破解App
  12. 学校计算机教学楼命名大全,学校楼名及释义集锦
  13. 鹏鹏的Altium Designer快捷方式技巧--库文件的制作
  14. 秘宝 | 将体育赛事结合区块链 数字藏品新风向
  15. 四川贝利思科技:拼多多开店的优势所在
  16. 往数据库里添加date(时间)类型的数据
  17. 学习爬虫之Scrapy框架学习(3)---豆瓣top250电影完整版信息获取及如何存储到mysql数据库;Scrapy shell和Scrapy选择器;使用到日志的学习!
  18. mailbox的controller
  19. 【Python】根据多个列同时进行多条件筛选数据
  20. Android 实现视频聊天1对1功能

热门文章

  1. python从第二行开始读取文件_python学习笔记—— 从第二行开始读文件
  2. PR如何打开MKV文件?MKV文件如何转为mp4,以及MP4如何被imageJ食用?
  3. 有服务器可以远程连接电脑软件,支持远程控制电脑的工具有哪些?这几款软件值得一试!...
  4. 离散数学复习笔记——平面图
  5. ICCV-2019论文
  6. HHUOJ 1818 More is better
  7. 有测试辐射的软件,装个可以查看辐射的APP应用,测测你的手机辐射有多大
  8. [构造]Array 2022牛客多校第6场 A
  9. C#练习题答案: 巴路士惠勒改造【难度:4级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战
  10. mysql 聚簇索引与非聚簇索引