首页 > 电脑专区 > 电脑教程 >

Qt Widget如何获取回车按键事件

来源:互联网 2023-02-21 18:15:20 391

我们经常要处理键盘按键事件,鼠标事件,游戏棒等外围设备的事件,以便我们的程序能够和用户进行交互,这里我们介绍如何获取键盘的回车键Enter事件,其他按键的处理也就类似处理就行了。如下图,我们边看帮助文档边讲解!VOL办公区 - 实用经验教程分享!

Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

工具/原料

  • QtCreator4.4.1
  • Qt5.9.2

方法/步骤

  • 1

    首先我们创建一个widget项目,目录结构如下,详细的步骤可以参考我的其他经验。另外我们还需要创建另一个接收按键的类。如下图。VOL办公区 - 实用经验教程分享!

    0Qt如何使用SVGVOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

  • 2

    项目创建好了以后,代码无须改动,我们先在KeyReceiver这个类中添加一个eventFilter函数,这个函数是QObject的一个虚函数,我们继承过来,作为过滤按键事件的处理函数。然后我们做一个功能,就是当窗口接收到回车键按下事件的时候,我们的窗口背景设置为红色。所以这里设置一个信号。VOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

  • 3

    上面如果按键不是回车键,我们直接返回给QObject去处理。注意读取事件的时候,我们需要做一下转换,把QEvent事件转成QKeyEvent事件。如下图。VOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

  • 4

    然后我们需要在MainWindow里面创建按键事件接受对象,如下图。然后连接刚才的信号,这里我们直接用lamda表达式来做处理,直接设置MainWindow背景色为红色即可。注意这里的installEventFilter语句,没有这句,什么就都没了。VOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

  • 5

    由于结果变化比较快,所以我们可以加上一个debug语句,结果如下图,点击回车键,窗口背景变化为红色,然后调试窗口显示nice字符串。VOL办公区 - 实用经验教程分享!

    Qt Widget如何获取回车按键事件?VOL办公区 - 实用经验教程分享!

  • 5该信息未经许可获取自百度经验
  • 注意事项

    • 注意加上安装事件过滤器语句,即installEventFilter语句。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!VOL办公区 - 实用经验教程分享!


    标签: 操作系统获取

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码