找回密码
 立即注册

《快速入门》一书6.1.2节中使用的ingore作用何在?

发表于 2017-1-11 16:17:38 | 显示全部楼层 |阅读模式
1Qter豆
如题:
该节中的ignore函数是忽略了mylineedit.cpp这里的键盘按下事件吗?那为何还是会不断出现"MyLineEdit键盘按下事件"?并且不断卡着无法输出字符?
代码如下:

#include "mylineedit.h"
#include <QKeyEvent>
#include <QDebug>
MyLineEdit::MyLineEdit(QWidget *parent) :
    QLineEdit(parent)

{

}
// 键盘按下事件
void MyLineEdit::keyPressEvent(QKeyEvent *event)
{
    qDebug() << tr("MyLineEdit键盘按下事件");

    // 执行QLineEdit类的默认事件处理
    QLineEdit::keyPressEvent(event);

    // 忽略该事件
    event->ignore();

}

回复

使用道具 举报

发表于 2017-1-12 08:49:06 | 显示全部楼层
你把
// 执行QLineEdit类的默认事件处理
    QLineEdit::keyPressEvent(event);
这句话注释掉啊。你先写了这句话,再写event->ignore();,当然会出现不断出现"MyLineEdit键盘按下事件
回复

使用道具 举报

发表于 2017-1-12 09:14:43 | 显示全部楼层
这个主要起到清空此类接受标志位参数,意思就是这个参数我不想要,返回给父窗体。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ceiwei

    主题

    帖子

    42

    积分

    Qter1级会员

    Rank: 1

    积分
    42

Qter1级会员

发私信

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!