找回密码
 立即注册
收起左侧

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

2
回复
7650
查看
[复制链接]
累计签到:13 天
连续签到:1 天
来源: 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();

}

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了