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

2025-03-19 13:45:27

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如何获取回车按键事件
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢