QT类中keyPressEvent函数的重写

设计一个文本编辑器QLineEdit(函数重写,keyPressEvent)
 要求:令该文本编辑器永远无法输入字符‘z’

 查找编译Qt的帮助文档: void QLineEdit::keyPressEvent ( QKeyEvent * event ) [virtual protected]
我们发现 keyPressEvent()函数是受保护的虚函数,虚函数只能重写。

根据题目需求:重写虚函数keyPressEvent,只有通过子类去继承类QLineEdit,然后进行重写。
好的我自己写的类放在MyEdit.h文件中

QT类中keyPressEvent函数的重写_第1张图片
这些的实现函数MyEdit.CPP:
QT类中keyPressEvent函数的重写_第2张图片
稍微的解释一下if(event->key() == Qt::Key_Z);

1)首先注意大小写的严格区分:Key_Z(K,Z都是大写)
2)如果接受的键盘字符是'Z'字符的话,则不进行任何事件,否则执行默认QLinwEdit提供的keyPressEvent函数。




你可能感兴趣的:(Qt类)