您当前的位置: 首页 >  qt

txwtech

暂无认证

  • 1浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

QT事件系统_lineEdit输入信息触发事件方法

txwtech 发布时间:2022-09-09 22:10:00 ,浏览量:1

应用程序输出:

"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()            
关注
打赏
1665060526
查看更多评论
0.0445s