应用程序输出:
"MyLineEdit类的keypress事件已触发,键盘按下"
"2022-09-09 22:04:33.810" "主窗口的键盘事件触发,键盘按下"
"主窗口的事件过滤器触发"
"mylineEdit的event函数已经触发"
"MyLineEdit类的keypress事件已触发,键盘按下"
"2022-09-09 22:05:29.685" "主窗口的键盘事件触发,键盘按下"
"主窗口的事件过滤器触发"
"mylineEdit的event函数已经触发"
"MyLineEdit类的keypress事件已触发,键盘按下"
"2022-09-09 22:05:33.897" "主窗口的键盘事件触发,键盘按下"
"主窗口的事件过滤器触发"
"mylineEdit的event函数已经触发"
"MyLineEdit类的keypress事件已触发,键盘按下"
"2022-09-09 22:05:34.483" "主窗口的键盘事件触发,键盘按下"
"主窗口的事件过滤器触发"
"mylineEdit的event函数已经触发"
"MyLineEdit类的keypress事件已触发,键盘按下"
"2022-09-09 22:05:35.553" "主窗口的键盘事件触发,键盘按下"
新建一个mylineedit类
#ifndef MYLINEEDIT_H
#define MYLINEEDIT_H
#include
class MyLineEdit : public QLineEdit
{
Q_OBJECT
public:
explicit MyLineEdit(QWidget *parent=0);
bool event(QEvent *event);//src6_2
protected:
void keyPressEvent(QKeyEvent *event);
};
#endif // MYLINEEDIT_H
#include "mylineedit.h"
#include
#include
MyLineEdit::MyLineEdit(QWidget *parent):QLineEdit(parent)
{
}
bool MyLineEdit::event(QEvent *event)//src6_2
{
if(event->type()==QEvent::KeyPress)
{
qDebug()installEventFilter(this);//在主窗口的lineedit控件安装事件过滤器,src6_2
}
MainWindow_6_1::~MainWindow_6_1()
{
delete ui;
}
bool MainWindow_6_1::eventFilter(QObject *obj, QEvent *event)//src_6_2事件过滤器
{
if(obj==line_edit)
{
if(event->type()==QEvent::KeyPress)
{
qDebug()
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?