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

 时间:2024-10-22 07:34:22

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

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

工具/原料

QtCreator4.4.1

Qt5.9.2

方法/步骤

1、首先我们创建一个widget项目,目录结构如下,详细的步骤可以参考我的其他经验。另外我们还需要创建另一个接收按键的类。如下图。

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

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

2、项目创建好了以后,代艨位雅剖码无须改动,我们先在KeyReceiver这个类中添加一个eventFilter挣窝酵聒函数,这个函数是QObject的一个虚函数,我们继承过来,作为过滤按键事件的处理函数。然后我们做一个功能,就是当窗口接收到回车键按下事件的时候,我们的窗口背景设置为红色。所以这里设置一个信号。

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

3、上面如果按键不是回车键,我们直接返回给QObject去处理。注意读取事件的时候,我们需要做一下转换,把QEvent事件转成QKeyEvent事件。如下图。

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

4、然后我们需要在MainWindow里面创建按键事件接受对象,如下图。然后连接刚鸬钟召蜗才的信号,这里我们直接用lamda表达式来做处失窝蜜琶理,直接设置MainWindow背景色为红色即可。注意这里的installEventFilter语句,没有这句,什么就都没了。

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

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

5、由于结果变化比较快,所以我们可以加上一个debug语句,结果如下图,点击回车键,窗口背景变化为红色,然后调试窗口显示nice字符串。

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

LabVIEW调试应用程序或共享库对话框 Microsoft Edge的关闭所有标签页警告不见了 VMware虚拟机怎样设置与主机网络互通 Windows server 2012 R2拒绝利用PING命令通信 sqlserver数据库表导出成excel文件(sql语句版)
热门搜索
海马m6报价及图片 厦门鼓浪屿图片 碧玺图片 卡通花图片 电发发型图片